#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")