#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<queue>
#include<cmath>
#include<cstdio>
#include<tuple>
#include<bitset>
#include<map>

using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define rep1(i,n) for(int i=1;i<=n;++i)
#define ALL(x) x.begin(),x.end()
#define ll long long
using lint=long long;
#define debug(output) cout<<#output<<"= "<<output<<endl
typedef pair<int,int> P;
const int inf=1000000007;
const int MOD=1000000007;
void solve(){
    int n;cin>>n;
    vector<int> a(n);
    map<int,int> memo;
    rep(i,n){
        cin>>a[i];
        memo[a[i]]+=1;
    }
    bool flag=true;
    for(auto& val:memo){
        if(val.second&1)flag=false;
    }
    if(flag){
        cout<<"Second"<<"\n";
        return;
    }
    if(n&1){
        cout<<"Second"<<"\n";
    }
    else{
        cout<<"First"<<"\n";
    }
}
signed main(){
  int t;cin>>t;
  rep(i,t)solve();
  return 0;
}
#pragma GCC target ("avx2")
#pragma GCC optimize ("unroll-loops")
#pragma GCC optimize ("O3")
#include "bits/stdc++.h"
#include <unordered_set>
#include <unordered_map>
#include <random>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
constexpr ll MOD = 1'000'000'007LL; /*998'244'353LL;*/
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(), (x).end()
#define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
template<class T> bool chmax(T& a, const T& b){ if(a<b){ a=b; return 1; } return 0; }
template<class T> bool chmin(T& a, const T& b){ if(b<a){ a=b; return 1; } return 0; }
constexpr int dy[4]={ -1,0,1,0 };
constexpr int dx[4]={ 0,-1,0,1 };

int T;
int N, A[100000];

signed main(){
    cin >> T;
    while(T--){
        cin >> N;
        rep(i, N) cin >> A[i];

        if(N%2 == 1) cout << "Second" << endl;
        else{
            sort(A, A+N);
            bool flg = true;
            rep(i, N/2){
                flg &= (A[2*i] == A[2*i+1]);
            }
            if(flg) cout << "Second" << endl;
            else cout << "First" << endl;
        }
    }
}