#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,k,r,t[155],ht[155],hp[155],ans;
void dfs(int s,int sum,int ti){
if(ti>=r)return;
if(s>n){
if(sum>=k){
ans=min(ans,ti);
return;
}
}
dfs(s+1,sum+hp[s],ti-ht[s]);
dfs(s+1,sum,ti);
}
signed main(){
cin>>n>>m>>k>>r;
for(int i=1;i<=n;i++)cin>>t[i];
sort(t+1,t+n+1);
for(int i=1;i<=m;i++)cin>>ht[i];
for(int i=1;i<=m;i++)cin>>hp[i];
dfs(1,0,0);
int t_lft=r-ans,cnt=0;
for(int i=1;i<=n;i++){
if(t_lft>=t[i])cnt++,t_lft-=t[i];
else break;
}
cout<<cnt;
return 0;
}