#include <iostream>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
vector<int> s(n);
int cnt0 = 0, cnt1 = 0, cnt2 = 0;
for (int i = 0; i < n; ++i) {
cin >> s[i];
if (s[i] == 0) cnt0++;
else if (s[i] == 1) cnt1++;
else cnt2++;
}
int a, b, c;
cin >> a >> b >> c;
int res = 0;
// 第一步:用b(1)匹配Bob的0
int win = min(b, cnt0);
res += win;
b -= win;
cnt0 -= win;
// 第二步:用c(2)匹配Bob的1
win = min(c, cnt1);
res += win;
c -= win;
cnt1 -= win;
// 第三步:用a(0)匹配Bob的2
win = min(a, cnt2);
res += win;
cout << res << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgCiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOwogICAgd2hpbGUgKFQtLSkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3RvcjxpbnQ+IHMobik7CiAgICAgICAgaW50IGNudDAgPSAwLCBjbnQxID0gMCwgY250MiA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgY2luID4+IHNbaV07CiAgICAgICAgICAgIGlmIChzW2ldID09IDApIGNudDArKzsKICAgICAgICAgICAgZWxzZSBpZiAoc1tpXSA9PSAxKSBjbnQxKys7CiAgICAgICAgICAgIGVsc2UgY250MisrOwogICAgICAgIH0KICAgICAgICBpbnQgYSwgYiwgYzsKICAgICAgICBjaW4gPj4gYSA+PiBiID4+IGM7CiAgICAgICAgCiAgICAgICAgaW50IHJlcyA9IDA7CiAgICAgICAgLy8g56ys5LiA5q2l77ya55SoYu+8iDHvvInljLnphY1Cb2LnmoQwCiAgICAgICAgaW50IHdpbiA9IG1pbihiLCBjbnQwKTsKICAgICAgICByZXMgKz0gd2luOwogICAgICAgIGIgLT0gd2luOwogICAgICAgIGNudDAgLT0gd2luOwogICAgICAgIAogICAgICAgIC8vIOesrOS6jOatpe+8mueUqGPvvIgy77yJ5Yy56YWNQm9i55qEMQogICAgICAgIHdpbiA9IG1pbihjLCBjbnQxKTsKICAgICAgICByZXMgKz0gd2luOwogICAgICAgIGMgLT0gd2luOwogICAgICAgIGNudDEgLT0gd2luOwogICAgICAgIAogICAgICAgIC8vIOesrOS4ieatpe+8mueUqGHvvIgw77yJ5Yy56YWNQm9i55qEMgogICAgICAgIHdpbiA9IG1pbihhLCBjbnQyKTsKICAgICAgICByZXMgKz0gd2luOwogICAgICAgIAogICAgICAgIGNvdXQgPDwgcmVzIDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==