#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <utility>
#include <string>
#include <queue>
#include <stack>

using namespace std;

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

const ll mod = 1000000007;

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

  int t;
  cin >> t;
  vector<int> n(t);
  vector<vector<ll> > a(t);
  for (int i = 0; i < t; i++) {
    cin >> n[i];
    a[i] = vector<ll>(n[i]);
    for (auto &x: a[i]) cin >> x;
  }

  vector<string> ans(t);
  for (int i = 0; i < t; i++) {
    if (n[i] % 2 == 0) {
      // f -> xor != 0
      // s -> xor == 0
      // 先手は大きいやつから取ればよい
      sort(a[i].rbegin(), a[i].rend());
      ll first = 0;
      ll second = 0;
      for (int j = 0; j < n[i]; j++) {
        if (j % 2 == 0) first += a[i][j];
        else second += a[i][j];
      }
      if (first > second) ans[i] = "First";
      else ans[i] = "Second";
    }
    else {
      // 後手必勝？
      ans[i] = "Second";
    }
  }

  for (auto &x: ans) cout << x << endl;

  return 0;
}

#include<bits/stdc++.h>
using namespace std;
template <class T> ostream &operator << (ostream &os, const vector<T> &p) { os << "["; for (auto&it : p) os << it << " "; return os << "]";}
template <class S, class T> ostream &operator << (ostream &os, const pair<S, T> &p) { return os << "(" << p.first << "," << p.second << ")";}
#ifndef ONLINE_JUDGE
#define deb(...) dbs(#__VA_ARGS__,__VA_ARGS__)
template <class T> void dbs(string str, T t) { cerr << str << ":" << t << "\n";}
template<class T, class...S> void dbs(string str, T t, S... s) { int idx = str.find(','); cerr << str.substr(0, idx) << ":" << t << ","; dbs(str.substr(idx + 1), s...);}
#else
#define deb(...){}
#endif
#define int long long
#define ld long double
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define sz(x) (int)x.size()
#define nl cout<< '\n'
#define all(x) x.begin(), x.end()
#define ini(x, y) memset(x, y, sizeof(x))
#define pr(x) {cout << x << '\n'; return;}
#define prl(x) {cout << x << '\n';}
#define rep(i,n) for(int i = 0; i < n; i++)
#define re(i,n) for(int i = 1; i <= n; i++)
#define fr(i,a,b) for(int i = a; i <= b; i++)
#define fb(i,a,b) for(int i = a; i >= b; i--)
#define vi vector<int>
#define pii pair<int, int>
#define vii vector<pii>
template<class T> bool umin(T &a, T b) { return a > b ? (a = b, true) : false; }
template<class T> bool umax(T &a, T b) { return a < b ? (a = b, true) : false; }
const int N = 503; // check the limits

void solve(int tc) {
	int n; cin>>n;
	string s; cin>>s;
	s='*'+s;
	int q; cin>>q;
	string ans;
	int t=0;
	while(q--){
		int x,a,b; cin>>x>>a>>b;
		if(x==2){
			t^=1;
		}else{
			if(t==1){
				if(a<=n) a+=n;
				else a-=n;
				if(b<=n) b+=n;
				else b-=n;
			}
			swap(s[a],s[b]);
		}
	}
	if(t) ans=s.substr(n+1)+s.substr(1,n);
	else ans=s.substr(1);
	prl(ans);

}

signed main() {
	ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int q = 1;
	// cin >> q;
	for (int i = 1; i <= q; i++) solve(i);
}