#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)n; i++) using ll = long long int; bool comp(int a, int b) { return a > b; } int main() { int N, M; ll W; cin >> N >> M >> W; vector A(N), B(M), C(M); rep(i, N) cin >> A[i]; rep(i, M) cin >> B[i]; rep(i, M) cin >> C[i]; map dp; sort(A.begin(), A.end(), comp); rep(i, N) { if (i + 1 <= W) dp[i + 1] = dp[i] + A[i]; else dp[i + 1] = dp[i]; } ll val = dp[N]; rep(i, (1< W) continue; if (W - bsum > N) val = max(csum + dp[N], val); else val = max(csum + dp[W - bsum], val); } cout << val << endl; return 0; }