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();
}
}