#include using namespace std; using ll = long long; using P = pair; #define fix(x) fixed << setprecision(x) #define asc(x) x, vector, greater #define rep(i, n) for(int i = 0; i < n; i++) #define all(x) (x).begin(),(x).end() templatebool chmin(T&a, const T&b){if(a>b){a=b;return 1;}return 0;} templatebool chmax(T&a, const T&b){if(a> n >> m >> w; vector> dp(1<<(n+m),vector(w+1,-INF)); dp[0][0] = 0; vector a(n), b(n), c(m), d(m); rep(i,n) cin >> a[i]; rep(i,n) cin >> b[i]; rep(i,m) cin >> c[i]; rep(i,m) cin >> d[i]; rep(houren,n+m){ rep(j,1<<(n+m)){ rep(k,w+1){ rep(l,n){ if((j>>l)&1) continue; if(k+a[l]>w) continue; chmax(dp[j|(1<>(n+l))&1) continue; if(k-c[l]<0) continue; chmax(dp[j|(1<<(n+l))][k-c[l]], dp[j][k]-d[l]); } } } } int ans = 0; rep(i,1<<(n+m))rep(j,w+1) chmax(ans, dp[i][j]); cout << ans << '\n'; return 0; }