import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
long X = Long.parseLong(st.nextToken());
long Y = Long.parseLong(st.nextToken());
int[] A = new int[N];
st = new StringTokenizer(br.readLine());
for (int i=0; i<N; i++) {
A[i] = Integer.parseInt(st.nextToken());
}
int[] B = new int[M];
st = new StringTokenizer(br.readLine());
for (int i=0; i<M; i++) {
B[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(A);
Arrays.sort(B);
long[] A_acc = new long[N+1];
for (int i=1; i<=N; i++) {
A_acc[i] = A_acc[i-1] + A[i-1];
}
int max_v = 0;
long[] remains = new long[M+1];
remains[0] = X + K*Y;
for (int i=1; i<=M; i++) {
if(Y*K >= B[i-1]) {
remains[i] = remains[i-1] - B[i-1];
Y -= (K+B[i-1]-1)/K;
int l = 0;
int r = N;
// while(l != r) {
while(l <= r) {
int m = (l+r)/2;
if(remains[i] >= A_acc[m]) {
max_v = Math.max(max_v, i+m);
l = m+1;
} else {
r = m-1;
}
}
// 난 l != r 혹은 l<r로 함. 그리고 l=m, r=m으로 갱신했었는데...
} else {
break;
}
}
System.out.println(max_v);
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: