#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll T,N;
vector<ll>a;
vector<string>ans;
void solve(){
if(N&1){
    ans.push_back("Second");
}else{
    bool judge=true;map<ll,ll>mp;
    for(ll i=0;i<N;i++){
        if(mp.count(a[i]))mp.at(a[i])++;else mp[a[i]]=1;
    }for(auto p:mp)if(p.second%2==1)judge=false;
    if(judge)ans.push_back("Second");
    else ans.push_back("First");
}
}
int main(){
cin>>T;
for(ll t=0;t<T;t++){
    cin>>N;a.resize(N);
    for(ll i=0;i<N;i++)cin>>a[i];
    solve();
}for(ll t=0;t<T;t++)cout<<ans[t]<<endl;
  return 0;
}
#include <bits/stdc++.h>
#define mk make_pair
#define fs first
#define sc second
using namespace std;
typedef long long ll;
typedef long double ld;
// please, read the question correctly (do you need set or multiset)???
const int N=200010; //check the limits, dummy
int a[N];
int n, m;
int main(){
	int t;
	cin>>t;
	while(t--){
		scanf("%d",&n);
		ll sm =0;
		for(int i=0; i<n; ++i){
			scanf("%d",a+i);
			sm+=a[i];
		}
		sort(a, a+n);
		ll tmp =0;
		if(n%2){
			tmp+=a[0];
			for(int i=n-1; i>=1; i-=2){
				tmp+=a[i];
			}
			if(tmp!=sm-tmp){
				printf("Second\n");
			}
			else{
				printf("First\n");
			}
		}
		else{
			for(int i=1; i<n; i+=2){
				tmp+=a[i];
			}
			if(tmp!=sm-tmp){
				printf("First\n");
			}
			else{
				printf("Second\n");
			}
		}
	}
}