#include using namespace std; using ll = long long; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; cin >> T; while (T--) { int N; long long K; cin >> N >> K; vector A(N), B(N), C(N), D(N); for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < N; i++) cin >> B[i]; for (int i = 0; i < N; i++) cin >> C[i]; for (int i = 0; i < N; i++) cin >> D[i]; priority_queue, greater> pq; ll gold = 0; for (int i = 0; i < N; i++) { // add buys for (int j = 0; j < B[i]; j++) { pq.push(A[i]); if ((int)pq.size() > K) pq.pop(); } // sell int sells = min((ll)pq.size(), D[i]); while (sells--) { ll cost = pq.top(); pq.pop(); gold += (C[i] - cost); } } cout << gold << '\n'; } }