#include <bits/stdc++.h>
using namespace std;
#define debug(...) fprintf(stderr, __VA_ARGS__), fflush(stderr)
typedef long long int ll;
typedef long double ld;
#define trump(v,a) vector<ll> v(a); for(int i =0;i<a; ++i)cin>>v[i];
#define modi(v) for(auto i:v){ cout<<i<<"";}cout<<endl;
#define debug_pair(obg) for(auto i:obg) cerr<<i.F<<" "<<i.S<<endl;
#define F first
#define S second
#define p2 pair<ll,ll>
ll hell = 1e9 + 7;


void solve() {
	ll a = 2, b = 0, c = 0, t = 0, ans = 0, ans2 = 0, k = -1, c1 = 0, c2 = 0, c3 = 0, c4 = 0 , n = 0, m = 0, x = 1e18;
	cin >> a;
	trump(v, a);
	for (int i = 0; i < a; ++i)
	{
		/* code */
		if (v[i] == 1) {
			if (c1 - c2 < c3 - c4)c1++;
			else {c3++;}
		}
		if (v[i] == 2) {
			if (c1 - c2 < c3 - c4)c2++;
			else {c4++;}
		}
		if (v[i] == 3) {
			if (c1 > c2 and c3 > c4) {
				if (c1 - c2 < c3 - c4)c1++;
				else {c3++;}
			}
			else if (c1 >= c2)c1++;
			else if (c3 >= c4)c3++;
			else {
				if (c1 - c2 < c3 - c4)c2++;
				else {c4++;}
			}
		}
	}
	cout << c1 + c3 << endl;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif

	clock_t z = clock();
	ll qc = 1, additionalv;
	cin >> qc;

	for (ll i = 1; i <= qc; i++) {
		// cout << "Case #" << i  << ": ";

		solve();
	}
	debug("Real Time: % .4Lf\n", (ld)(clock() - z) / CLOCKS_PER_SEC);
}

/*
some good points to think :-
1) Why are you alive
2) Is the array overflowing
3) will you ever be able to solve a graph question. YAY!!
3.a)Will you ever be able to solve a segment tree question.
4) The answer will be trivial always if its not its not worth solving
5) for xor a^b  = a+b-2a&b xor of multi element set counts only odd no. of set bits
6) char values are '0' =48 'a' = 97 'A' = 65
7) two pointers are good way for array sum /length based questions
8) dp on sums?
9) make black boxes
10) min/max at central tendencies and just iterate +- 5 around it.
11) prime factorisation by linear sieve + recursion.
12) for satisfiability see range of the variable.
13) never define endl fucks interactive
*/