//#pragma GCC optimize ("O2")
//#pragma GCC target ("avx2")
//#include<bits/stdc++.h>
//#include<atcoder/all>
//using namespace atcoder;

#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;
typedef long long ll;
#define rep(i, n) for(int i = 0; i < (n); i++)
#define rep1(i, n) for(int i = 1; i <= (n); i++)
#define co(x) cout << (x) << "\n"
#define cosp(x) cout << (x) << " "
#define ce(x) cerr << (x) << "\n"
#define cesp(x) cerr << (x) << " "
#define pb push_back
#define mp make_pair
#define chmin(x, y) x = min(x, y)
#define chmax(x, y) x = max(x, y)
#define Would
#define you
#define please

const int b = 8;
int A[100000];
int tmp[100001];
const int CM = 1 << 17, CL = 12;
char cn[CM + CL], * ci = cn + CM + CL, * owa = cn + CM, ct;
const ll ma0 = 1157442765409226768;
const ll ma1 = 1085102592571150095;
const ll ma2 = 71777214294589695;
const ll ma3 = 281470681808895;
const ll ma4 = 4294967295;
inline int getint() {
	if (ci - owa > 0) {
		memcpy(cn, owa, CL);
		ci -= CM;
		fread(cn + CL, 1, CM, stdin);
	}
	ll tmp = *(ll*)ci;
	if ((tmp & ma0) ^ ma0) {
		int dig = 68 - __builtin_ctzll((tmp & ma0) ^ ma0);
		tmp = tmp << dig & ma1;
		tmp = tmp * 10 + (tmp >> 8) & ma2;
		tmp = tmp * 100 + (tmp >> 16) & ma3;
		tmp = tmp * 10000 + (tmp >> 32) & ma4;
		ci += (72 - dig >> 3);
	}
	else {
		tmp = tmp & ma1;
		tmp = tmp * 10 + (tmp >> 8) & ma2;
		tmp = tmp * 100 + (tmp >> 16) & ma3;
		tmp = tmp * 10000 + (tmp >> 32) & ma4;
		ci += 8;
		if ((ct = *ci++) >= '0') {
			tmp = tmp * 10 + ct - '0';
			if (*ci++ == '0') {
				tmp = tmp * 10;
				ci++;
			}
		}
	}
	return tmp;
}
void okuri() {
	if (ci - owa > 0) {
		memcpy(cn, owa, CL);
		ci -= CM;
		fread(cn + CL, 1, CM, stdin);
	}
	ll tmp = *(ll*)ci;
	if ((tmp & ma0) ^ ma0) {
		ci += 4 + __builtin_ctzll((tmp & ma0) ^ ma0) >> 3;
	}
	else {
		ci += 8;
		tmp = *(ll*)ci;
		ci += 4 + __builtin_ctzll((tmp & ma0) ^ ma0) >> 3;
	}
}

const int dm = 1 << 17;
char dn[dm], * di = dn;
const char f[10] = "First\n";
const char s[10] = "Second\n";

int main() {
	//cin.tie(0);
	//ios::sync_with_stdio(false);

	int T = getint();

	int are = 1 << 14;
	int owa = are;
	rep(t, T) {
		int N = getint();

		if (N % 2) {
			rep(i, N) okuri();
			memcpy(di, s, 7);
			di += 7;
		}
		else {
			rep(i, N) A[i] = getint();
			if (N > 256) {
				rep(k, 4) {
					int kazu[1 << b] = {}, kazu2[1 << b] = {};
					rep(i, N) kazu[A[i] >> k * b & ((1 << b) - 1)]++;
					rep(i, (1 << b) - 1) kazu[i + 1] += kazu[i];
					for (int i = N - 1; i >= 0; i--) tmp[--kazu[A[i] >> k * b & ((1 << b) - 1)]] = A[i];
					k++;
					rep(i, N) kazu2[tmp[i] >> k * b & ((1 << b) - 1)]++;
					rep(i, (1 << b) - 1) kazu2[i + 1] += kazu2[i];
					for (int i = N - 1; i >= 0; i--) A[--kazu2[tmp[i] >> k * b & ((1 << b) - 1)]] = tmp[i];
				}
			}
			else sort(A, A + N);

			int mae = 0, k = 0;
			rep(i, N) {
				if (mae == A[i]) k++;
				else {
					if (k & 1) break;
					k = 1;
					mae = A[i];
				}
			}

			if (k & 1) {
				memcpy(di, f, 6);
				di += 6;
			}
			else {
				memcpy(di, s, 7);
				di += 7;
			}
		}
		if (t > owa) {
			owa += are;
			fwrite(dn, 1, di - dn, stdout);
			di = dn;
		}
	}
	fwrite(dn, 1, di - dn, stdout);

	Would you please return 0;
}
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
typedef long long ll;
#define rep(i,n) for(int i=0;i<n;i++)
#define chmin(a,b) a=min(a,b)
#define chmax(a,b) a=max(a,b)
#define mod 1000000007
#define ad(a,b) a=(a+b)%mod;
#define X 5010
ll po(ll x,ll y){
	ll res=1;
	for(;y;y>>=1){
		if(y&1)res=res*x%mod;
		x=x*x%mod;
	}
	return res;
}
ll fac[X],ivf[X];
void init(){
	fac[0]=1;
	for(ll i=1;i<X;i++)fac[i]=fac[i-1]*i%mod;
	for(ll i=0;i<X;i++)ivf[i]=po(fac[i],mod-2);
}
ll C(ll n,ll k){
	return fac[n]*ivf[n-k]%mod*ivf[k]%mod;
}

ll gcd(ll a,ll b){
	return (b?gcd(b,a%b):a);
}

ll n,a[100010];
void solve(){
	cin>>n;
	rep(i,n)cin>>a[i];
	sort(a,a+n);
	bool ok=1;
	if(n%2==1)ok=0;
	else{
		rep(i,n/2)ok&=(a[i*2]==a[i*2+1]);
	}
	
	if(n%2==0)ok^=1;
	cout<<(ok?"First":"Second")<<endl;
}
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	ll t;
	cin>>t;
	while(t--)solve();
}
