#include <bits/stdc++.h>
using namespace std;
long long dp[1002][1002][32];
int order[] = {0, 1, 2, 4, 8, 16, 3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 7, 11, 13,
14, 19, 21, 22, 25, 26, 28, 15, 23, 27, 29, 30, 31};
void solve() {
int n, m, kk;
cin >> n >> m >> kk;
long long c[kk], p[n], v[n];
for(int i=0;i<kk;i++) {
cin >> c[i];
}
for(int i=0;i<n;i++) {
cin >> p[i];
}
for(int i=0;i<n;i++) {
cin >> v[i];
}
long long mx = 0;
memset(dp, 0, sizeof dp);
for(int k=1;k<32;k++) {
bool bool_continue = false;
for(int ii=kk;ii<5;ii++) {
if(order[k] & (1 << ii)) {
bool_continue = true;
}
}
if(bool_continue) continue;
for(int i=0;i<n;i++) {
for(int j=0;j<=m;j++) {
int x = order[k];
for(int y=0;y<kk;y++) {
if(i>0)
dp[i][j][x] = max(dp[i][j][x], dp[i-1][j][x]);
if( (x^(1 << y)) < x) {
if(p[i]<=j && c[y]>=v[i]) {
// valid sub problem
if(i>0) {
dp[i][j][x] = max(dp[i][j][x], dp[i-1][j-p[i]][x^(1 << y)] + v[i]);
} else {
dp[i][j][x] = max(dp[i][j][x], v[i]);
}
}
}
}
if(mx < dp[i][j][x]) {
mx = dp[i][j][x];
}
}
}
}
cout << mx << "\n";
}
int main() {
int t;
cin >> t;
while(t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGxvbmcgZHBbMTAwMl1bMTAwMl1bMzJdOwppbnQgb3JkZXJbXSA9IHswLCAxLCAyLCA0LCA4LCAxNiwgMywgNSwgNiwgOSwgMTAsIDEyLCAxNywgMTgsIDIwLCAyNCwgNywgMTEsIDEzLAogICAgICAgICAgICAgICAgICAgIDE0LCAxOSwgMjEsIDIyLCAyNSwgMjYsIDI4LCAxNSwgMjMsIDI3LCAyOSwgMzAsIDMxfTsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbiwgbSwga2s7CiAgICBjaW4gPj4gbiA+PiBtID4+IGtrOwogICAgbG9uZyBsb25nIGNba2tdLCBwW25dLCB2W25dOwogICAgZm9yKGludCBpPTA7aTxraztpKyspIHsKICAgICAgICBjaW4gPj4gY1tpXTsKICAgIH0KICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICBjaW4gPj4gcFtpXTsKICAgIH0KICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICBjaW4gPj4gdltpXTsKICAgIH0KICAgIGxvbmcgbG9uZyBteCA9IDA7CiAgICBtZW1zZXQoZHAsIDAsIHNpemVvZiBkcCk7CiAgICBmb3IoaW50IGs9MTtrPDMyO2srKykgewogICAgICAgIGJvb2wgYm9vbF9jb250aW51ZSA9IGZhbHNlOwogICAgICAgIGZvcihpbnQgaWk9a2s7aWk8NTtpaSsrKSB7CiAgICAgICAgICAgIGlmKG9yZGVyW2tdICYgKDEgPDwgaWkpKSB7CiAgICAgICAgICAgICAgICBib29sX2NvbnRpbnVlID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihib29sX2NvbnRpbnVlKSBjb250aW51ZTsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKSB7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8PW07aisrKSB7CiAgICAgICAgICAgICAgICBpbnQgeCA9IG9yZGVyW2tdOwogICAgICAgICAgICAgICAgZm9yKGludCB5PTA7eTxrazt5KyspIHsKICAgICAgICAgICAgICAgICAgICBpZihpPjApCiAgICAgICAgICAgICAgICAgICAgICAgIGRwW2ldW2pdW3hdID0gbWF4KGRwW2ldW2pdW3hdLCBkcFtpLTFdW2pdW3hdKTsKICAgICAgICAgICAgICAgICAgICBpZiggKHheKDEgPDwgeSkpIDwgeCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihwW2ldPD1qICYmIGNbeV0+PXZbaV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhbGlkIHN1YiBwcm9ibGVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpPjApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcFtpXVtqXVt4XSA9IG1heChkcFtpXVtqXVt4XSwgZHBbaS0xXVtqLXBbaV1dW3heKDEgPDwgeSldICsgdltpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRwW2ldW2pdW3hdID0gbWF4KGRwW2ldW2pdW3hdLCB2W2ldKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKG14IDwgZHBbaV1bal1beF0pIHsKICAgICAgICAgICAgICAgICAgICBteCA9IGRwW2ldW2pdW3hdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBteCA8PCAiXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pIHNvbHZlKCk7CglyZXR1cm4gMDsKfQ==