/* Clearink */

#include <map>
#include <cstdio>

inline int rint () {
	int x = 0, f = 1; char s = getchar ();
	for ( ; s < '0' || '9' < s; s = getchar () ) f = s == '-' ? -f : f;
	for ( ; '0' <= s && s <= '9'; s = getchar () ) x = x * 10 + ( s ^ '0' );
	return x * f;
}

template<typename Tp>
inline void wint ( Tp x ) {
	if ( x < 0 ) putchar ( '-' ), x = ~ x + 1;
	if ( 9 < x ) wint ( x / 10 );
	putchar ( x % 10 ^ '0' );
}

std::map<int, int> buc;

int main () {
	for ( int T = rint (); T --; ) {
		buc.clear ();
		int n = rint ();
		for ( int i = 1; i <= n; ++ i ) ++ buc[rint ()];
		if ( n & 1 ) puts ( "Second" );
		else {
			bool ok = false;
			for ( auto ele: buc ) {
				if ( ele.second & 1 ) {
					puts ( "First" ), ok = true;
					break;
				}
			}
			if ( !ok ) puts ( "Second" );
		}
	}
	return 0;
}
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <utility>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <tuple>
#include <numeric>
#include <functional>
using namespace std;
typedef long long ll;
typedef vector<ll> vl;
typedef vector<vector<ll>> vvl;
typedef pair<ll, ll> P;
#define rep(i, n) for(ll i = 0; i < n; i++)
#define exrep(i, a, b) for(ll i = a; i <= b; i++)
#define out(x) cout << x << endl
#define exout(x) printf("%.10f\n", x)
#define chmax(x, y) x = max(x, y)
#define chmin(x, y) x = min(x, y)
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define pb push_back
#define re0 return 0
const ll mod = 1000000007;
const ll INF = 1e10;

int main() {
    ll n;
    cin >> n;

    vvl v(n, vl(5));
    rep(i, n) {
        rep(j, 5) {
            cin >> v[i][j];
        }
    }

    // 判定問題「チームの総合力をx以上にできるか？」を二分探索で解く
    ll left = 0;
    ll right = INF;  /*・INFの値が大きすぎてオーバーフローしていないか？
                    ・INFの値が制約に対して小さすぎないか？         */
    while(right - left > 1) {
        ll x = (left + right) / 2;
        set<ll> st;
        rep(i, n) {
            ll y = 0;
            rep(j, 5) {
                if(v[i][j] >= x) {
                    y |= 1<<j;
                }
            }
            st.insert(y);
        }
        vl w;
        for(ll y : st) {
            w.pb(y);
        }
        bool ok = false;
        ll m = w.size();
        if(m == 1) {
            if(w[0] == (1<<5) - 1) {
                ok = true;
            }
        }
        else if(m == 2) {
            if((w[0] | w[1]) == (1<<5) - 1) {
                ok = true;
            }
        }
        else {
            exrep(i, 0, m-3) {
                exrep(j, i+1, m-2) {
                    exrep(k, j+1, m-1) {
                        if((w[i] | w[j] | w[k]) == (1<<5) - 1) {
                            ok = true;
                        }
                    }
                }
            }
        }
        if(ok) {
            left = x;
        }
        else {
            right = x;
        }
    }

    out(left);
    re0;
}