#include <ios>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main() {
int n,k,a, b;
cin >> n >> k >> a >> b;
vector<int> power(n),cooperation(n);
for(int i=0;i<n;i++) cin>>power[i];
for(int i=0;i<n;i++) cin>>cooperation[i];
//滑动窗口法
int left =0,right =0;
int capability=0,cooper=0;//窗口内能力
int res=0;//方案个数
int valid_need = k;
int valid = 0;
// vector<int> pow(k),coop(k);
queue<int> pow1,cop;
while(right<n){
pow1.push(power[right]);
cop.push(cooperation[right]);
// pow.push_back(power[right]);
// coop.push_back(cooperation[right]);
if(power[right]>=a && cooperation[right]>=b) valid++;
right++;
while(left<=right && right-left>k){
//需要收缩
pow1.pop();
cop.pop();
if(power[left]>=a && cooperation[left]>=b) valid--;
// capability -= power[left];
// cooper -= cooperation[left];
left++;
}
//只剩下窗口小于等于k的情况
if(right-left==k){
if(valid==valid_need) {
// cout<<capability<<" " <<cooper<<endl;
res+=1;
}
}
}
cout<<res<<endl;
}
// 64 位输出请用 printf("%lld")