#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==