#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T; // Input number of test cases
while (T--) {
int n;
cin >> n; // Number of rounds
vector<int> s(n); // Scores for each round
for (int i = 0; i < n; ++i) {
cin >> s[i];
}
// Alice's score options
int a, b, c;
cin >> a >> b >> c;
// Sort Alice's scores in descending order
vector<int> alice_scores = {a, b, c};
sort(alice_scores.rbegin(), alice_scores.rend());
// Count Bob's scores
vector<int> bob_scores(3, 0); // Bob's scores: 0, 1, 2
for (int i = 0; i < n; ++i) {
bob_scores[s[i]]++;
}
int win_count = 0;
// 1. Try to use Alice's largest score to defeat Bob's smallest score
// Alice's 0 beats Bob's 2, Alice's 1 beats Bob's 0, and Alice's 2 beats Bob's 1
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
if (alice_scores[i] > j && bob_scores[j] > 0) {
win_count++;
bob_scores[j]--;
break;
}
}
}
// Output the result
cout << win_count << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOyAgLy8gSW5wdXQgbnVtYmVyIG9mIHRlc3QgY2FzZXMKICAgIHdoaWxlIChULS0pIHsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4gPj4gbjsgIC8vIE51bWJlciBvZiByb3VuZHMKICAgICAgICB2ZWN0b3I8aW50PiBzKG4pOyAgLy8gU2NvcmVzIGZvciBlYWNoIHJvdW5kCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgY2luID4+IHNbaV07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIEFsaWNlJ3Mgc2NvcmUgb3B0aW9ucwogICAgICAgIGludCBhLCBiLCBjOwogICAgICAgIGNpbiA+PiBhID4+IGIgPj4gYzsKICAgICAgICAKICAgICAgICAvLyBTb3J0IEFsaWNlJ3Mgc2NvcmVzIGluIGRlc2NlbmRpbmcgb3JkZXIKICAgICAgICB2ZWN0b3I8aW50PiBhbGljZV9zY29yZXMgPSB7YSwgYiwgY307CiAgICAgICAgc29ydChhbGljZV9zY29yZXMucmJlZ2luKCksIGFsaWNlX3Njb3Jlcy5yZW5kKCkpOwogICAgICAgIAogICAgICAgIC8vIENvdW50IEJvYidzIHNjb3JlcwogICAgICAgIHZlY3RvcjxpbnQ+IGJvYl9zY29yZXMoMywgMCk7ICAvLyBCb2IncyBzY29yZXM6IDAsIDEsIDIKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgICBib2Jfc2NvcmVzW3NbaV1dKys7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGludCB3aW5fY291bnQgPSAwOwoKICAgICAgICAvLyAxLiBUcnkgdG8gdXNlIEFsaWNlJ3MgbGFyZ2VzdCBzY29yZSB0byBkZWZlYXQgQm9iJ3Mgc21hbGxlc3Qgc2NvcmUKICAgICAgICAvLyBBbGljZSdzIDAgYmVhdHMgQm9iJ3MgMiwgQWxpY2UncyAxIGJlYXRzIEJvYidzIDAsIGFuZCBBbGljZSdzIDIgYmVhdHMgQm9iJ3MgMQogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsgKytpKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMzsgKytqKSB7CiAgICAgICAgICAgICAgICBpZiAoYWxpY2Vfc2NvcmVzW2ldID4gaiAmJiBib2Jfc2NvcmVzW2pdID4gMCkgewogICAgICAgICAgICAgICAgICAgIHdpbl9jb3VudCsrOwogICAgICAgICAgICAgICAgICAgIGJvYl9zY29yZXNbal0tLTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gT3V0cHV0IHRoZSByZXN1bHQKICAgICAgICBjb3V0IDw8IHdpbl9jb3VudCA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==