#include <bits/stdc++.h>
using namespace std;
#define REP(i, n) for (int i = 0; i < int(n); i++)
#define FOR(i, a, b) for (int i = a; i < int(b); i++)
#define FOREACH(i, v) for (__typeof((v).begin()) i = (v).begin(); i != (v).end(); i++)
#define SIZE(v) ((int)(v).size())
#define pb push_back
#define mp make_pair
#define st first
#define nd second
#define ll long long
#define llint long long
#define pii pair<int, int>
#define UNVISITED -1


template<typename T>
string to_string(const vector<T>& vc, int w) {
	if(vc.empty()) return "";
	if(w + 1 == vc.size()) return to_string(vc[w]);
	return to_string(vc[w]) + "," + to_string(vc, w + 1);
}
 
template<typename T>
string to_string(const vector<T>& vc) {
	return "{" + to_string(vc, 0) + "}";
}
 
void debug_out() { cerr << endl; }
 
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
  cerr << " " << to_string(H);
  debug_out(T...);
}
 
#ifdef DEBUG
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif
 
class DebugStream {}LOG;
template <typename T>DebugStream &operator<<(DebugStream &s, const T&) { return s; }
#ifdef DEBUG
#define LOG clog
#endif

const int MAX = 1001000;
int a[MAX];

int main() {
    int T; scanf("%d", &T);
    REP(t, T) {
        int N; scanf("%d", &N);
        REP(i, N) scanf("%d", a + i);
        if(N%2 == 1) {
            printf("Second\n");
        }
        else {
            map<int, int> dic;
            REP(i, N) dic[a[i]]++;
            bool q = true;
            for(auto x : dic) if(x.second%2 == 1) q = false;
            if(q) printf("Second\n");
            else {
                printf("First\n");
            }
        }
    }
}
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int,int> P;

#define p_ary(ary,a,b) do { cout << "["; for (int count = (a);count < (b);++count) cout << ary[count] << ((b)-1 == count ? "" : ", "); cout << "]\n"; } while(0)
#define p_map(map,it) do {cout << "{";for (auto (it) = map.begin();;++(it)) {if ((it) == map.end()) {cout << "}\n";break;}else cout << "" << (it)->first << "=>" << (it)->second << ", ";}}while(0)

template<typename T1,typename T2>ostream& operator<<(ostream& os,const pair<T1,T2>& a) {os << "(" << a.first << ", " << a.second << ")";return os;}

const char newl = '\n';

int main() {
    int q;
    cin >> q;
    while (q-- ) {
        int n;
        cin >> n;
        vector<int> a(n);
        for (int i = 0;i < n;++i) cin >> a[i];
        bool fi = false;
        if (n%2 == 0) {
            sort(a.begin(),a.end());
            for (int i = 0;i < n/2;++i) if (a[i*2] != a[i*2+1]) {
                fi = true;
                break;
            }
        }
        cout << (fi ? "First" : "Second") << newl;
    }
}