#include using namespace std; using ll=long long; int main(){ ll n,m,w; cin>>n>>m>>w; vector a(n),b(n),c(m),d(m); for(ll i=0;i>a[i]; } for(ll i=0;i>b[i]; } for(ll i=0;i>c[i]; } for(ll i=0;i>d[i]; } ll dp[n+1][m+1][w+1]; for(ll i=0;i<=n;i++){ for(ll j=0;j<=m;j++){ for(ll k=0;k<=w;k++){ dp[i][j][k]=-1e18; } } } dp[0][0][0]=0; for(ll i=0;i<=n;i++){ for(ll j=0;j<=m;j++){ for(ll k=0;k<=w;k++){ if(j+1<=m){ dp[i][j+1][k]=max(dp[i][j+1][k],dp[i][j][k]); if(k-c[i]>=0){ dp[i][j+1][k-c[i]]=max(dp[i][j+1][k-c[i]],dp[i][j][k]-d[i]); } } if(i+1<=n){ dp[i+1][j][k]=max(dp[i+1][j][k],dp[i][j][k]); if(k+a[i]<=w){ dp[i+1][j][k+a[i]]=max(dp[i+1][j][k+a[i]],dp[i][j][k]+b[i]); } } } } } ll ans=0; for(ll i=0;i<=w;i++){ ans=max(dp[n][m][i],ans); } cout<