import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        long t=sc.nextInt();
        long clccle=sc.nextInt();
        long rqy=sc.nextInt();
        long[]time=new long[n];
        long[]diff=new long[n];
        for (int i = 0; i < n; i++) {
            time[i]=sc.nextInt();
        }
        for (int i = 0; i < n; i++) {
            diff[i]=sc.nextInt();
        }
        int num_clecle=0;
        long time_clecle=0;
        for (int i = 0; i < diff.length; i++) {
            if(clccle<=diff[i]){
                continue;
            }
            if(time[i]+time_clecle>t){
                continue;
            }
            num_clecle++;
            time_clecle+=time[i];
        }
        int num_rqy=0;
        long time_rqy=0;
        for (int i = 0; i < diff.length; i++) {
            if(rqy<=diff[i]){
                if(time_rqy+time[i]*2<=t){
                    num_rqy++;
                    time_rqy+=time[i]*2;
                }
            }else{
                if(time_rqy+time[i]<=t){
                    num_rqy++;
                    time_rqy+=time[i];
                }
            }
        }
        System.out.println(num_clecle+" "+num_rqy);
        sc.close();
    }
    
    
}