#include<bits/stdc++.h>
using namespace std;
#define N 400005
struct node{int pos,val;}b[N];
int a[N],n,i,val[N],st[N],hd;
char ans[N];
inline bool cmp(node aa,node bb){return aa.val<bb.val;}
int main(){
	cin>>n;
	for(i=1;i<=n+n;++i)cin>>a[i],b[i].pos=i,b[i].val=a[i];
	sort(b+1,b+n+n+1,cmp);
	for(i=n+1;i<=n+n;++i){
		val[b[i].pos]=1;
	}
	for(i=1;i<=n+n;++i){
		if(hd&&val[st[hd]]!=val[i]){
			ans[st[hd]]='(';
			ans[i]=')';
			--hd;
		}
		else st[++hd]=i;
	}
	for(i=1;i<=n+n;++i)cout<<ans[i];
}
#include <iostream>
#include <map>
using namespace std;

void test_case()
{
	int N,curr;
  	cin>>N;
  	map<int,int> freq;
  	for (int index=0; index<N;index+=1){
  	    cin>>curr;
  	    freq[curr] += 1;
  	}
  	
  	string res = "Second";
  	
    if (N%2 == 0){
        // even
        // A goal is to break symmerty and B goal is to build symmetry of 2 columns
        // Symmetry can be achieved only if all num have duplicates
        for (auto &[_,value]:freq){
            if (value % 2 == 1){
                // no duplicate
                res = "First";
            }
        }
    }else{
        //odd
        // A goal is maintain symmerty of 2 columns 
        // (possible if a+b == c, but on taking a, B can take b making it asymmetric) 
        // therefore always B wins
    }
    cout<<res<<"\n";
}

int main()
{
	int N;
  	cin>>N;
  	
  	while(N-->0){
    	test_case();
    }
    return 0;
}