#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,k,r,ans;
int t[15],w[15],c[15],dp[55];
int main(){
cin>>n>>m>>k>>r;
memset(dp,0x3f,sizeof(dp)); dp[0]=0;
for(int i=1;i<=n;i++) cin>>t[i];
for(int i=1;i<=m;i++) cin>>w[i];//时间
for(int i=1;i<=m;i++) cin>>c[i];//分值
for(int i=1;i<=m;i++){
for(int j=k;j>=c[i];j--){
dp[j]=min(dp[j],dp[j-c[i]]+w[i]);
}
}
// cout<<dp[k]<<endl;
if(r<=dp[k]){
cout<<0;return 0;
}else{
sort(t+1,t+1+n); r-=dp[k];
}
for(int i=1;i<=n;i++){
if(r>=t[i]){
r-=t[i]; ans++;
}
}
cout<<ans;
return 0;
}