We have N bags numbered 1 through N and N dishes numbered 1 through N.
Bag i contains a_i coins, and each dish has nothing on it initially.
Taro the first and Jiro the second will play a game against each other.
They will alternately take turns, with Taro the first going first.
In each player's turn, the player can make one of the following two moves:
 - When one or more bags contain coin(s): Choose one bag that contains coin(s) and one dish, then move all coins in the chosen bag onto the chosen dish. (The chosen dish may already have coins on it, or not.)
 - When no bag contains coins: Choose one dish with coin(s) on it, then remove one or more coins from the chosen dish.
The player who first becomes unable to make a move loses. Determine the winner of the game when the two players play optimally.
You are given T test cases. Solve each of them.

-----Constraints-----
 - All values in input are integers.
 - 1 \leq T \leq 10^5
 - 1 \leq N \leq 10^{5}
 - 1 \leq a_i \leq 10^9
 - In one input file, the sum of N does not exceed 2 \times 10^5.

-----Input-----
Input is given from Standard Input in the following format:
T
\mathrm{case}_1
\vdots
\mathrm{case}_T

Each case is in the following format:
N
a_1 a_2 \cdots a_N

-----Output-----
Print T lines. The i-th line should contain First if Taro the first wins in the i-th test case, and Second if Jiro the second wins in the test case.

-----Sample Input-----
3
1
10
2
1 2
21
476523737 103976339 266993 706803678 802362985 892644371 953855359 196462821 817301757 409460796 773943961 488763959 405483423 616934516 710762957 239829390 55474813 818352359 312280585 185800870 255245162

-----Sample Output-----
Second
First
Second

 - In test case 1, Jiro the second wins. Below is one sequence of moves that results in Jiro's win:
 - In Taro the first's turn, he can only choose Bag 1 and move the coins onto Dish 1.
 - In Jiro the second's turn, he can choose Dish 1 and remove all coins from it, making Taro fail to make a move and lose.
 - Note that when there is a bag that contains coin(s), a player can only make a move in which he chooses a bag that contains coin(s) and moves the coin(s) onto a dish.
 - Similarly, note that when there is no bag that contains coin(s), a player can only make a move in which he chooses a dish and removes one or more coins.

Difficulty: competition

Starter code:

Solutions:
import sys
input=sys.stdin.readline
from collections import defaultdict

def solve(n,A):
    d=defaultdict(int)
    for a in A:
        d[a]+=1
    flag=True
    for v in d.values():
        if v%2!=0:
            flag=False
            break
    return bool(n%2)^flag

def main():
    t=int(input())
    for _ in range(t):
        n=int(input())
        A=list(map(int,input().split()))
        judge=solve(n,A)
        print('Second' if judge else 'First')
    
def __starting_point():
    main()
__starting_point()

T = int(input())
while(T):
  T -= 1
  N = int(input())
  L = sorted(list(map(int,input().split())))
  if( N & 1 ):
    print("Second")
    continue
  for j in range (N // 2):
    if L[ 2 * j ] != L[ 2 * j + 1 ]:
      print("First")
      break
    if( j + 1 == N // 2 ):
      print("Second")

t=int(input())
for _ in range(t):
    n=int(input())
    a=list(map(int,input().split()))
    if n%2:
        print("Second")
        continue
    d=dict()
    for num in a:
        if num not in d:
            d[num]=1
        else:
            d[num]+=1
    ok=True
    for num in d:
        if d[num]%2:
            ok=False
    if ok:
        print("Second")
    else:
        print("First")

T=int(input())
for testcase in range(T):
    N=int(input())
    a=[int(i) for i in input().split()]
    a.sort()
    if N%2==0:
        flag=1
        for i in range(N//2):
            if a[2*i]!=a[2*i+1]:
                flag=0
                break
        if flag:
            print("Second")
        else:
            print("First")
    else:
        print("Second")
        


from collections import Counter
T = int(input())
D = {0: 'First', 1: 'Second'}
for _ in range(T):
    N = int(input())
    A = list(map(int, input().split()))
    if N % 2 == 1:
        print((D[1]))
    else:
        C = Counter(A)
        # print(C)
        for c in C:
            if C[c] % 2 == 1:
                print((D[0]))
                break
        else:
            print((D[1]))


t = int(input())
for i in range(t):
  n = int(input())
  l=sorted(list(map(int,input().split())))
  if n%2:
    print("Second")
    continue
  
  enda = False
  for j in range(n//2):
    if l[2*j]!=l[2*j+1]:
      print("First")
      enda = True
      break
  if enda:
    continue
  print("Second")

from collections import Counter
T=int(input())
for i in range(T):
    N=int(input())
    a=list(map(int,input().split()))
    if N%2==1:
        #firはnim=0をsecはnim!=0を目指す。
        #ここで最初firは一つコインの山をつくるので、secはできているコインの山に現存する最大値を放り込み続ければ
        #その一つの山を無限に最大化でき、nim!=0を保証できる。
        print("Second")
    else:
        #firはnim!=0をsecはnim=0を目指す。
        #firは最初フラットな状態に遭遇し、コインの山を作ることになる。しかし、一度secがコインを置いて均衡を崩すことになれば、
        #firはできているコインの山に現存する最大値を放り込み続ければ、その一つの山を無限に最大化でき、nim!=0を保証できる。
        #他方できない時は延々に均衡が崩れない時、つまり同じコインの袋が偶数個あるときのみとなる。
        flag=0
        c=Counter(a)
        val=list(c.values())
        for j in val:
            if j%2==1:
                flag=1
                break
        if flag==1:
            print("First")
        else:
            print("Second")


import sys
from collections import defaultdict
def I(): return int(sys.stdin.readline().rstrip())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  #空白あり


T = I()
for _ in range(T):
    N = I()
    A = LI()
    if N % 2 == 1:
        print('Second')
    else:
        d = defaultdict(int)
        for a in A:
            d[a] += 1
        X = list(d.values())
        for x in X:
            if x % 2 == 1:
                print('First')
                break
        else:
            print('Second')


import sys, math
import io, os
#data = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
from bisect import bisect_left as bl, bisect_right as br, insort
from heapq import heapify, heappush, heappop
from collections import defaultdict as dd, deque, Counter
#from itertools import permutations,combinations
def data(): return sys.stdin.readline().strip()
def mdata(): return list(map(int, data().split()))
def outl(var) : sys.stdout.write('\n'.join(map(str, var))+'\n')
def out(var) : sys.stdout.write(str(var)+'\n')
#from decimal import Decimal
#from fractions import Fraction
#sys.setrecursionlimit(100000)
INF = float('inf')
mod=10**9+7


for t in range(int(data())):
    n=int(data())
    a=mdata()
    if n%2==1:
        out('Second')
    else:
        a.sort()
        k=1
        for i in range(n//2):
            if a[2*i]!=a[2*i+1]:
                out('First')
                k=0
                break
        if k:
            out('Second')

from collections import Counter

T = int(input())
for _ in range(T):
    N = int(input())
    cntr = Counter(int(c) for c in input().split(' '))
    ans = any(v % 2 for v in list(cntr.values())) ^ (N % 2)
    print(('First' if ans else 'Second'))


import sys

sys.setrecursionlimit(10 ** 8)

input = sys.stdin.readline

import collections


def main():
    t = int(input())
    for _ in range(t):
        N = int(input())
        A = [int(x) for x in input().split()]

        if N == 1:
            print("Second")
            continue

        c = collections.Counter(A)

        f = True
        for k in list(c.keys()):
            if c[k] % 2 == 1:
                f = False
                break

        if f or N % 2 == 1:
            print("Second")
        else:
            print("First")



def __starting_point():
    main()

__starting_point()

from collections import Counter

t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    if n % 2 == 1:
        print("Second")
    elif all(i % 2 == 0 for i in Counter(a).values()):
        print("Second")
    else:
        print("First")

import collections

t=int(input())
for _ in range(t):
  n=int(input())
  arr=list(map(int,input().split()))
  cnt=collections.Counter(arr)
  if n%2==1:
    print('Second')
  else:
    for val in cnt.values():
      if val%2==1:
        print('First')
        break
    else:
      print('Second')

import sys
from collections import Counter

input = sys.stdin.readline

for _ in range(int(input())):
    N = int(input())
    A = list(map(int, input().split()))
    if N % 2 == 1:
        print("Second")
        continue

    c = Counter(A)
    if max(v % 2 for v in list(c.values())) == 0:
        print("Second")
    else:
        print("First")


from collections import Counter

def solve(n,a):
  n %= 2
  c = Counter(a)
  flag = 0
  for k in c.keys():
    if c[k] % 2 == 1:
      flag = 1
      break
  print('First' if flag + n == 1 else 'Second')
  
T = int(input())
for i in range(T):
  N=int(input())
  *A,=map(int,input().split())
  solve(N,A)

"""
皿フェーズは普通のNimゲームなので、
皿フェーズ開始時点＝袋フェーズ終了時点でGrundy数=XORの総和が0になるか0以外になるかが重要。
Nが奇数のとき、先手は袋フェーズ終了時点でXORの総和を0にしたい。一方で後手は0以外にしたい。
ここで、後手は必ず0以外にできる。先手が最初にコインを置いたさらに対して、中のコインが多い袋から順に積んでいけば
必ず全体の過半数以上の山を作ることができる。
過半数を超えている山があれば必ずXOR総和は0以外になる。

一方Nが偶数の場合、先手は袋フェーズ終了時点でXORの総和を0以外にしたい。一方で後手は0にしたい。
ここで、先ほどと同様のやりかたで先手は必ず過半数以上の山をつくり、XORを0以外にできる。
ただし、1パターンだけ例外がある。同じ枚数のコインが入った袋がそれぞれ偶数個だけある場合である。
このとき後手は先手の選んだ袋をミラーリングすることでXOR総和を0にできる。
"""
from collections import Counter
T = int(input())
for _ in range(T):
    N = int(input())
    A = list(map(int,input().split()))
    if N&1:
        print("Second")
    else:
        for v in list(Counter(A).values()):
            if v&1:
                print("First")
                break
        else:
            print("Second")


i=input
t=int(i())
for _ in range(t):
  n=int(i())
  a=sorted(map(int,i().split()))
  print('First' if n%2^(a[::2]!=a[1::2]) else 'Second')

#!/usr/bin/env python
# coding: utf-8

def ri():
    return int(input())

def rl():
    return list(input().split())

def rli():
    return list(map(int, input().split()))

def main():
    t = ri()
    for i in range(t):
        n = ri()
        la = rli()
        if n % 2 == 1:
            print("Second")
            continue
        count = {}
        for a in la:
            count.setdefault(a, 0)
            count[a] += 1
        ok = True
        for v in list(count.values()):
            if v % 2 == 1:
                ok = False
                break
        if ok:
            print("Second")
        else:
            print("First")



def __starting_point():
    main()

__starting_point()

# -*- coding: utf-8 -*-

#############
# Libraries #
#############

import sys
input = sys.stdin.readline
sys.setrecursionlimit(1000000)

import math
#from math import gcd
import bisect
import heapq
from collections import defaultdict
from collections import deque
from collections import Counter
from functools import lru_cache

#############
# Constants #
#############

MOD = 10**9+7
INF = float('inf')
AZ = "abcdefghijklmnopqrstuvwxyz"

#############
# Functions #
#############

######INPUT######
def I(): return int(input().strip())
def S(): return input().strip()
def IL(): return list(map(int,input().split()))
def SL(): return list(map(str,input().split()))
def ILs(n): return list(int(input()) for _ in range(n))
def SLs(n): return list(input().strip() for _ in range(n))
def ILL(n): return [list(map(int, input().split())) for _ in range(n)]
def SLL(n): return [list(map(str, input().split())) for _ in range(n)]


#####Shorten#####
def DD(arg): return defaultdict(arg)

#####Inverse#####
def inv(n): return pow(n, MOD-2, MOD)

######Combination######
kaijo_memo = []
def kaijo(n):
  if(len(kaijo_memo) > n): return kaijo_memo[n]
  if(len(kaijo_memo) == 0): kaijo_memo.append(1)
  while(len(kaijo_memo) <= n): kaijo_memo.append(kaijo_memo[-1] * len(kaijo_memo) % MOD)
  return kaijo_memo[n]

gyaku_kaijo_memo = []
def gyaku_kaijo(n):
  if(len(gyaku_kaijo_memo) > n): return gyaku_kaijo_memo[n]
  if(len(gyaku_kaijo_memo) == 0): gyaku_kaijo_memo.append(1)
  while(len(gyaku_kaijo_memo) <= n): gyaku_kaijo_memo.append(gyaku_kaijo_memo[-1] * pow(len(gyaku_kaijo_memo),MOD-2,MOD) % MOD)
  return gyaku_kaijo_memo[n]

def nCr(n,r):
  if n == r: return 1
  if n < r or r < 0: return 0
  ret = 1
  ret = ret * kaijo(n) % MOD
  ret = ret * gyaku_kaijo(r) % MOD
  ret = ret * gyaku_kaijo(n-r) % MOD
  return ret

######Factorization######
def factorization(n):
  arr = []
  temp = n
  for i in range(2, int(-(-n**0.5//1))+1):
    if temp%i==0:
      cnt=0
      while temp%i==0: 
        cnt+=1 
        temp //= i
      arr.append([i, cnt])
  if temp!=1: arr.append([temp, 1])
  if arr==[]: arr.append([n, 1])
  return arr

#####MakeDivisors######
def make_divisors(n):
  divisors = []
  for i in range(1, int(n**0.5)+1):
    if n % i == 0:
      divisors.append(i)
      if i != n // i: 
        divisors.append(n//i)
  return divisors

#####MakePrimes######
def make_primes(N):
  max = int(math.sqrt(N))
  seachList = [i for i in range(2,N+1)]
  primeNum = []
  while seachList[0] <= max:
    primeNum.append(seachList[0])
    tmp = seachList[0]
    seachList = [i for i in seachList if i % tmp != 0]
  primeNum.extend(seachList)
  return primeNum

#####GCD#####
def gcd(a, b):
    while b: a, b = b, a % b
    return a

#####LCM#####
def lcm(a, b):
    return a * b // gcd (a, b)

#####BitCount#####
def count_bit(n):
  count = 0
  while n:
    n &= n-1
    count += 1
  return count

#####ChangeBase#####
def base_10_to_n(X, n):
  if X//n: return base_10_to_n(X//n, n)+[X%n]
  return [X%n]

def base_n_to_10(X, n):
  return sum(int(str(X)[-i-1])*n**i for i in range(len(str(X))))

def base_10_to_n_without_0(X, n):
  X -= 1
  if X//n: return base_10_to_n_without_0(X//n, n)+[X%n]
  return [X%n]

#####IntLog#####
def int_log(a, n):
  count = 0
  while n>=a:
    n //= a
    count += 1
  return count

#############
# Main Code #
#############

def solve():
  N = I()
  A = IL()
  if N%2:
    print("Second")
  else:
    dic = DD(int)
    for a in A:
      dic[a] = 1-dic[a]
    for k in dic:
      if dic[k]:
        print("First")
        return
    print("Second")

T = I()
for _ in range(T):
  solve()

from collections import Counter
for _ in range(int(input())):
    n = int(input())
    a = Counter(map(int, input().split()))
    if n & 1:
        print("Second")
    else:
        win = False
        for k in a:
            if a[k] & 1:
                win = True
                break
        print("First" if win else "Second")


t = int(input())
for qi in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    if n % 2 == 1:
        print("Second")
    else:
        a.sort()
        f = True
        for i in range(0, n, 2):
            if a[i] != a[i+1]:
                f = False
                print("First")
                break
        if f:
            print("Second")
                


from collections import Counter


T = int(input())
for _ in range(T):
    N = int(input())
    A = list(map(int, input().split()))
    C = Counter(A)
    
    if N % 2 == 1:
        ans = False
    else:
        if all(v % 2 == 0 for v in list(C.values())):
            ans = False
        else:
            ans = True
    win = 'First' if ans is True else 'Second'
    print(win)



t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int, input().split()))
    if n % 2 == 0:
        cnt = dict()
        for i in a:
            if not i in cnt:
                cnt[i] = 1
            else:
                cnt[i] += 1
        ans = "Second"
        for i in cnt:
            if cnt[i] % 2 == 1:
                ans = "First"
                break
    else:
        ans = "Second"
    print(ans)

import collections
t=int(input())
for i in range(t):
  n=int(input())
  a=list(map(int,input().split()))
  if n%2==1:
    print('Second')
  else:
    A=collections.Counter(a)
    count=list(A.values())
    f=0
    for j in range(len(count)):
      if count[j]%2==1:
        f=1
        break
    if f==1:
      print('First')
    else:
      print('Second')

import sys,os,io
input = sys.stdin.readline
#input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
T = int(input())
ans = [0]*T
for t in range(T):
  n = int(input())
  A = list(map(int,input().split()))
  A.sort()
  if n%2==0:
    ans[t] = 'Second'
    for i in range(0,n,2):
      if A[i]!=A[i+1]:
        ans[t] = 'First'
        break
  else:
    ans[t] = 'Second'
print(*ans, sep='\n')

I=input
for _ in range(int(I())):print("SFeicrosntd"[int(I())&1^((a:=sorted(map(int,I().split())))[::2]!=a[1::2])::2])

for a in[*open(0)][2::2]:print('SFeicrosntd'[len(a:=sorted(a.split()))%2^(a[::2]!=a[1::2])::2])

import sys
from functools import reduce
input = sys.stdin.readline
T = int(input())
for i in range(T):
    N = int(input())
    A = list(map(int,input().split()))
    if N % 2 == 1:
        print("Second")
    else:
        A.sort()
        for a,na in zip(A[::2],A[1::2]):
            if not a == na:
                break
        else:
            print("Second")
            continue
        print("First")




from collections import Counter

T = int(input())
N = []
case = []
for _ in range(T):
    N.append(int(input()))
    case.append(list(map(int, input().split())))

for t in range(T):
    if N[t] % 2 == 1:
        print('Second')
    else:
        count = Counter(case[t])
        if all([i % 2 == 0 for i in list(count.values())]):
            print('Second')
        else:
            print('First')


i=input
t=int(i())
for _ in range(t):
 print('First' if int(i())%2^((a:=sorted(map(int,i().split())))[::2]!=a[1::2]) else 'Second')

from collections import Counter
t = int(input())
for _ in range(t):
  n = int(input())
  a = list(map(int,input().split()))
  c = Counter(a)
  flg = 1
  for i in c.values():
    if i%2:
      flg = 0
  if (flg+n)%2 == 0:
    print("First")
  else:
    print("Second")

#!python3.8
# -*- coding: utf-8 -*-
# arc105/arc105_d
import sys
from collections import Counter

def s2nn(s): return [int(c) for c in s.split(' ')]
def ss2nn(ss): return [int(s) for s in list(ss)]
def ss2nnn(ss): return [s2nn(s) for s in list(ss)]
def i2s(): return sys.stdin.readline().rstrip()
def i2n(): return int(i2s())
def i2nn(): return s2nn(i2s())
def ii2ss(n): return [i2s() for _ in range(n)]
def ii2nn(n): return ss2nn(ii2ss(n))
def ii2nnn(n): return ss2nnn(ii2ss(n))


def case():
    # Nが奇数で逆転
    N = i2n()
    a = i2nn()
    cntr = Counter(a)
    ans = any(v % 2 for v in list(cntr.values())) ^ (N % 2)
    print(('First' if ans else 'Second'))

    
def main():
    T = i2n()
    for _ in range(T):
        case()
    return

main()


import bisect, collections, copy, heapq, itertools, math, string
import sys
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return list(map(int, sys.stdin.readline().rstrip().split()))
def LI(): return list(map(int, sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())
from collections import deque, defaultdict, Counter
import heapq
from functools import reduce
from itertools import permutations
import math
import bisect

def main():
    T = I()
    for i in range(T):
        N = I()
        A = LI()
        if N % 2 == 1:
            print('Second')
        else:
            D = defaultdict(int)
            for a in A:
                D[a] += 1
            flag = 0
            for key in list(D.keys()):
                if D[key] % 2 != 0:
                    flag = 1
                    break
            if flag == 0:
                print('Second')
            else:
                print('First')
def __starting_point():
    main()

__starting_point()

t = int(input())
from collections import Counter
for _ in range(t):
    n = int(input())
    A = list(map(int,input().split()))
    if n%2:
        print('Second')
    else:
        cnt = Counter(A)
        for val in cnt.values():
            if val%2:
                print('First')
                break
        else:
            print('Second')

import sys

sys.setrecursionlimit(10 ** 8)
ini = lambda: int(sys.stdin.readline())
inl = lambda: [int(x) for x in sys.stdin.readline().split()]
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print("\033[33m", *a, "\033[0m", **dict(file=sys.stderr, **kw))


def solve():
    n = ini()
    a = inl()
    if n % 2 == 1:
        return "Second"
    a.sort()
    pair_ok = True
    i = 0
    while i < n:
        if a[i] != a[i + 1]:
            pair_ok = False
            break
        i += 2
    if pair_ok:
        return "Second"
    return "First"


T = ini()
for i in range(T):
    print(solve())


import math,itertools,fractions,heapq,collections,bisect,sys,queue,copy

sys.setrecursionlimit(10**7)
inf=10**20
mod=10**9+7
dd=[(-1,0),(0,1),(1,0),(0,-1)]
ddn=[(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
# def LF(): return [float(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def F(): return float(sys.stdin.readline())
def LS(): return sys.stdin.readline().split()
def S(): return input()

# Summarize count of factor within list -- START --
def summarizeList(l):
  sl=sorted(l)

  a=sl[0]
  c=1
  res=[]

  for x in sl[1:]:
    if x==a:
      c+=1
    else:
      res.append([a,c])
      a=x
      c=1
  res.append([a,c])

  return res
# Summarize count of factor within list --- END ---

def main():
  ans=[]
  N=I()
  for _ in range(N):
    n=I()
    l=LI()
    
    if n%2==1:
      ans.append('Second')
    else:
      sl=summarizeList(l)
      f=True
      for x,c in sl:
        if c%2==1:
          f=False
      if f:
        ans.append('Second')
      else:
        ans.append('First')

  for x in ans:
    print(x)

main()
# print(main())


def main(n,a):
  # F:ゲームの先行
  # S:ゲームの後行
  if n%2==0:
    # ゲームの先行Fがnimの先行になる。
    # nimはF先行。Fはnimのxor和が0以上になるようにしたい。Sはぴったり0にしたい
    # Fは大きいものから順に同じ皿に置いていけばいい。逆にこれでも0になってしまう場合はSが勝つ。
    a.sort()
    num0,num1=0,0
    for i,x in enumerate(a):
      if i%2:
        num0+=x
      else:
        num1+=x
    return num0!=num1
  else:
    # ゲームの後行Sがnimの先行になる。
    # nimはS先行。Fはnimのxor和が0になるようにしたい。Sは0以上にしたい
    return False
    pass
t=int(input())
nary=[]
aary=[]
for _ in range(t):
  n=int(input())
  a=list(map(int,input().split()))
  nary.append(n)
  aary.append(a)
for n,a in zip(nary,aary):
  print(('First' if main(n,a) else 'Second'))



from collections import Counter


T = int(input())
for _ in range(T):
    N = int(input())
    A = list(map(int, input().split()))
    C = Counter(A)
    
    if N % 2 == 1:
        ans = 'Second'
    else:
        if all(v % 2 == 0 for v in list(C.values())):
            ans = 'Second'
        else:
            ans = 'First'
    print(ans)


#!usr/bin/env python3
from collections import defaultdict, deque
from heapq import heappush, heappop
from itertools import permutations, accumulate
import sys
import math
import bisect
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def IR(n):
    return [I() for _ in range(n)]
def LIR(n):
    return [LI() for _ in range(n)]

sys.setrecursionlimit(1000000)
mod = 1000000007

ans = ["Second", "First"]
def solve():
    def f(n,a):
        if n&1:
            return ans[0]
        cnt = defaultdict(lambda : 0)
        for i in a:
            cnt[i] ^= 1
        return ans[any(cnt.values())]

    t = I()
    for _ in range(t):
        n = I()
        a = LI()
        print((f(n,a)))
    return

#Solve
def __starting_point():
    solve()

__starting_point()

#problem: let's play nim
#problem id: arc105 d

import sys
from collections import Counter


def input():
    return sys.stdin.readline()


def solve():
    n = int(input())
    a = list(map(int, input().split()))
    if n % 2 != 0:
        print("Second")
    else:
        prt = dict(Counter(a))
        if any(v % 2 != 0 for v in list(prt.values())):
            print("First")
        else:
            print("Second")
    return


def main():
    t = int(input())
    for i in range(t):
        solve()
    return


def __starting_point():
    main()

__starting_point()

#袋を置き終わって排他的論理和が0の時負け、0じゃない時勝ち
#Nが偶数なら先手は0にならないようにする。後手は0にする。
#先手がいかに頑張っても後手が0にできるなら、後手の勝ち
#それ以外は先手の勝ち
#Nが奇数なら逆

import collections
def game(n, A):#計算量log以下が求められる。
  #先手番
  if N % 2 == 0:
    ans = "Second"
    B = collections.Counter(A)
    for i in list(B.values()):
      if i % 2 != 0:
        ans = "First"
  #後手番  
  else:
    ans = "Second"
  return ans

T = int(input())
for i in range(T):
  N = int(input())
  A = list(map(int, input().split()))
  score = game(N, A)
  print(score)


import sys
input = sys.stdin.readline

def I(): return int(input())
def MI(): return list(map(int, input().split()))
def LI(): return list(map(int, input().split()))

"""
結局のところ，袋から出し終えた時点で勝敗はついている．
袋から出す段階でもgrundyの議論ができそう
あー，でもgが非0のところからg=0に遷移できるとは限らないね．

Nが奇数なら
先手:g=0を目指す
後手:g≠0を目指す

Nが偶数なら
先手:g≠0を目指す
後手:g=0を目指す

非0を目指す方が楽そう．最後の方で適当にやれば良いし，
自分の手番では大きいものからとっていき一箇所にまとめて行く．これで半分以上を取れるので，ちょうど半々になった時のみg=0
なので，g=0が作れるケースを考える．

Nの偶奇や先手/後手にかかわらず，最後の袋を使ってg=0を目指す．
これ，できる？
1手分だけ遡って考える．x0,x1,,,xk 個並んでいるとして，袋は2個残っている．
この状態でどんな手を打っても次の手でg=0にされる，という状況はある？
→ g=0で，かつ，残りの袋がどちらも同じ個数の時はそうか．
N=偶数で，Aiが全部同じなら後手がg=0を作れるね．

補題:互いに最善手で，g≠0の時に，相手→自分の順でg=0を作れることがあるか?
→不可かな...微妙．

上で書いたケース以外ないかも?
全然詰められてないので嘘臭いが投げてみるか...
→WA

詰めよう．

N=奇数なら後手必勝ぽい？
後手の行動:大きい袋からとっていき，初手でおかれた皿に置き続ける
詳細:これをやられたら絶対に過半数を超える．過半数を超えられたくないので先手の人も大きい順位取るけど，それでもAの奇数番目が全て同じ皿に入ってしまう．A1を除いた分でさえ，偶数番目の総和以上になるので，A1も入れると絶対過半数を超える

N=偶数で，後手がg=0を作れるケースを考えようか．
奇数の時と同じ様に考えられそう?先手側はとにかく大きいのからとっていき一箇所にまとめる．
→2個セットになっているか，でg=0が作れるか判定できそう


"""

def main():
    mod=10**9+7
    
    T=I()
    for _ in range(T):
        N=I()
        A=LI()
        
        if N%2==1:
            print("Second")
        else:
            flag=1#全部偶数個か?
            from collections import defaultdict
            dd = defaultdict(int)
            
            for i in range(N):
                dd[A[i]]+=1
                
            for k,v in list(dd.items()):
                if v%2:
                    flag=0
                    break
                
            if flag==1:
                print("Second")
            else:
                print("First")
            
            
            

main()


def solve(a):
    b = sorted(a)
    if len(b)%2 == 0:
        if b[::2] == b[1::2]:
            return "Second"
        else:
            return "First"
    else:
        return "Second"

for _ in range(int(input())):
    N = input()
    print((solve(list(map(int,input().split())))))


def is_nomal_case(A):
    A.sort()
    for i in range(0, len(A), 2):
        if A[i] != A[i+1]:
            return True
    return False
    
def __starting_point():
    T = int(input())
    for _ in range(T):
        N = int(input())
        A = list(map(int, input().split()))
        if N%2:
            print('Second')
        else:
            if not is_nomal_case(A):
                print('Second')
            else:
                print('First')
__starting_point()


T = int(input())
for _ in range(T):
    N = int(input())
    a = list(map(int, input().split()))
    a.sort()
    a.reverse()
    tmp1 = 0
    tmp2 = 0

    for i in range(len(a)):
        if i % 2 == 0:
            tmp1 += a[i]
        else:
            tmp2 += a[i]

    if N % 2 == 0:
        if tmp1 != tmp2:
            print ("First")
        else:
            print ("Second")
    else:
        print ("Second")

import itertools
import sys
from typing import List

sys.setrecursionlimit(10 ** 9)


def lmi():
    return list(map(int, input().split()))


def main():
    T = int(input())
    for _ in range(T):
        N = int(input())
        A = lmi()
        solve(N, A)

def rfe(S):
    for k, v in itertools.groupby(S):
        yield k, len(list(v))


def solve(N: int, A: List[int]) -> str:
    A.sort()
    if len(A) % 2 == 0:
        if all(count % 2 == 0 for k, count in rfe(A)):
            print('Second')
        else:
            print('First')
    else:
        print('Second')


def __starting_point():
    main()


__starting_point()

import collections
I = [int(_) for _ in open(0).read().split()]
T = I[0]
i = 1
N = []
A = []
for _ in range(T):
    N += [I[i]]
    i += 1
    A += [I[i:i + N[-1]]]
    i += N[-1]
for n, a in zip(N, A):
    if n % 2 == 0 and any(v % 2 for v in list(collections.Counter(a).values())):
        print('First')
    else:
        print('Second')


T = int(input())

for _ in range(T):
    N = int(input())
    a = list(map(int,input().split()))
    
    if N % 2 == 1:
        print("Second")
    else:
        a.sort()
        for i in range(N//2):
            if a[2*i] != a[2*i+1]:
                print("First")
                break
        else:
            print("Second")

t = int(input())
 
for _ in range(t):
  n = int(input())
  arr = list(map(int, input().split()))
  
  if n%2==1:
    print('Second')
    
  else:
    D = {}
    for el in arr:
      if el not in D:
        D[el] = 1
      else:
        D[el] += 1
        
    ok = 1
    for key in D:
      if D[key] % 2 == 1:
        ok = 0 
        
    if ok==1:
      print('Second')
    else:
      print('First')

from collections import defaultdict
import sys
input = sys.stdin.readline

T = int(input())
for _ in range(T):
    N = int(input())
    a = list(map(int, input().split()))
    if N % 2 == 1:
        print('Second')
    else:
        cnt = defaultdict(int)
        for x in a:
            cnt[x] += 1
        for _, c in list(cnt.items()):
            if c % 2 == 1:
                print('First')
                break
        else:
            print('Second')


#!/usr/bin/env python3
from collections import Counter


def main():
    T = int(input())
    for _ in range(T):
        N = int(input())
        a = list(map(int, input().split()))
        xor = 0
        for i in range(N):
            xor ^= a[i]
        if N % 2 == 0:  # コインをおく時に手番が変わらない
            for k, v in list(Counter(a).items()):
                if v % 2 == 1:
                    print('First')
                    break
            else:
                print('Second')
        else:
            print('Second')


def __starting_point():
    main()

__starting_point()

t = int(input())
for i in range(t):
    n = int(input())
    a = list(map(int,input().split()))
    d = {}
    if n%2 == 1:
        print("Second")
        continue
    for j in a:
        if j in d:
            d[j] = d[j]^1
        else:
            d[j] = 1
    # print(d)
    for j in d.keys():
        if d[j] == 1:
            print("First")
            break
    else:
        print("Second")

def solve(A):
  d = {}
  for a in A:
    if a in d:
      d[a] += 1
    else:
      d[a] = 1
  
  for a in d:
    if d[a] % 2:
      return 'First'
  return 'Second'


T = int(input())
ans = []
for i in range(T):
  N = int(input())
  A = list(map(int, input().split()))
  if N % 2:
    ans.append('Second')
  else:
    ans.append(solve(A))

print(*ans, sep='\n')

from collections import Counter

def solve(a):
    c = Counter(a)

    res = True

    for i in list(c.values()):
        if i%2 != 0:
            res = False
    
    if N%2 == 0:
        if res:
            return "Second"
        else:
            return "First"
    else:
        return "Second"


T = int(input())

for _ in range(T):
    N = int(input())
    a = list(map(int,input().split()))
    print((solve(a)))


def solve(a):
    b = sorted(a)
    if len(b)%2:
        return "Second"
    else:
        if b[::2] == b[1::2]:
            return "Second"
        else:
            return "First"
for _ in range(int(input())):
    input()
    print(solve(list(map(int,input().split()))))

# Date [ 2020-10-11 23:52:10 ]
# Problem [ d.py ]
# Author Koki_tkg

import sys
from collections import Counter

def read_str(): return sys.stdin.readline().strip()
def read_int(): return int(sys.stdin.readline().strip())
def read_ints(): return list(map(int, sys.stdin.readline().strip().split()))
def read_str_split(): return list(sys.stdin.readline().strip())
def read_int_list(): return list(map(int, sys.stdin.readline().strip().split()))

def Main():
    for _ in range(read_int()):
        N = read_int()
        a = read_int_list()
        if N % 2:
            print('Second')
            continue
        cnt = Counter(a)
        for val in list(cnt.values()):
            if val % 2:
                print('First')
                break
        else:
            print('Second')

def __starting_point():
    Main()

__starting_point()

def solve(n, a):
  if n % 2 == 0:
    cnt = dict()
    for x in a:
      if x not in cnt:
        cnt[x] = 0
      cnt[x] += 1
    for v in cnt.values():
      if v % 2:
        print("First")
        return
    print("Second")
    return
  print("Second")

def main():
  t = int(input())
  for _ in range(t):
    n = int(input())
    a = [*map(int, input().split())]
    solve(n, a)

main()

import sys
from collections import Counter

def input(): return sys.stdin.readline().strip()
def list2d(a, b, c): return [[c for j in range(b)] for i in range(a)]
def list3d(a, b, c, d): return [[[d for k in range(c)] for j in range(b)] for i in range(a)]
def list4d(a, b, c, d, e): return [[[[e for l in range(d)] for k in range(c)] for j in range(b)] for i in range(a)]
def ceil(x, y=1): return int(-(-x // y))
def INT(): return int(input())
def MAP(): return list(map(int, input().split()))
def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)]
def Yes(): print('Yes')
def No(): print('No')
def YES(): print('YES')
def NO(): print('NO')
sys.setrecursionlimit(10**9)
INF = 10**19
MOD = 10**9 + 7
EPS = 10**-10

for _ in range(INT()):
    N = INT()
    A = LIST()

    swapped = (N % 2 == 1)
    C = Counter(A)
    is_0 = True
    for v in list(C.values()):
        if v % 2 != 0:
            is_0 = False
            break

    if swapped ^ (not is_0):
        print('First')
    else:
        print('Second')


import sys
input = sys.stdin.readline

fw = "First"
sw = "Second"
t = int(input())
for i in range(t):
    n = int(input())
    A = list(map(int,input().split()))
    if n % 2 == 1:
        print(sw)
    else:
        A.sort()
        ng = 0
        for i in range(n//2):
            if A[2*i] != A[2*i+1]:
                ng = 1
                break
        print(sw if ng == 0 else fw)

from collections import Counter
for _ in range(int(input())):
    n = int(input())
    a = Counter(map(int, input().split()))
    if n & 1:
        print("Second")
    else:
        win = False
        for k in a:
            if a[k] & 1:
                win = True
                break
        print("First" if win else "Second")

from collections import Counter

def solve():
    N=int(input())
    a=list(map(int,input().split()))
    
    if N%2:
        return 'Second'
    c=Counter(a)
    for x,y in c.items():
        if y%2:
            return 'First'
    return 'Second'
    
    
T=int(input())

while(T):
    print(solve())
    T-=1

def solve(a):
    b = sorted(a)
    N = len(b)
    if N%2 == 0:
        if b[::2] == b[1::2]:
            return "Second"
        else:
            return "First"
    else:
        return "Second"

for _ in range(int(input())):
    N = input()
    print((solve(list(map(int,input().split())))))


from collections import Counter
q = int(input())
for _ in range(q):
    n = int(input())
    s = list(map(int, input().split()))
    if n & 1:
        print("Second")
        continue
    flg = True
    c = Counter(s)
    for k, v in list(c.items()):
        if v % 2 == 1:
            flg = False
    print(("Second" if flg else "First"))


import io, os
#input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
R = lambda : map(int, input().split())
for _ in range(int(input())) :
    n = int(input())
    a = list(R())
    a.sort()
    can = False
    val = {}
    for i in a :
        if i not in val :
            val[i] = 1
        else :
            val[i] += 1
    if n & 1 or all(v % 2 == 0 for k, v in val.items()) :
        print("Second")
    else :
        print("First")

import sys
from collections import Counter

sys.setrecursionlimit(10 ** 7)
input = sys.stdin.readline
f_inf = float('inf')
mod = 10 ** 9 + 7


def resolve():
    t = int(input())
    for _ in range(t):
        n = int(input())
        A = list(map(int, input().split()))

        if n % 2:
            print("Second")
        else:
            D = Counter(A)
            for v in list(D.values()):
                if v % 2:
                    print("First")
                    break
            else:
                print("Second")


def __starting_point():
    resolve()

__starting_point()

import sys

input = sys.stdin.readline
T = int(input())
for _ in range(T):
    N = int(input())
    A = sorted(list(map(int, input().split())))
    if N % 2 == 1:
        print('Second')
        continue
    else:
        flg = True
        for i in range(N // 2):
            flg = flg & (A.pop() == A.pop())
        if flg:
            print('Second')
        else:
            print('First')


from collections import Counter
import sys
input = sys.stdin.readline

def solve():
    T = int(input())
    anss = []
    for _ in range(T):
        N = int(input())
        As = list(map(int, input().split()))

        if N%2:
            anss.append('Second')
        else:
            cnt = Counter(As)
            for value in list(cnt.values()):
                if value%2:
                    anss.append('First')
                    break
            else:
                anss.append('Second')

    print(('\n'.join(anss)))


solve()


t = int(input())
for _ in range(t):
    N = int(input())
    l = sorted(map(int, input().split()))
    if N % 2:
        print('Second')
    else:
        if sum(l[::2]) == sum(l[1::2]):
            print('Second')
        else:
            print('First')

from collections import *
for _ in range(int(input())):
    print('First' if int(input())%2^any(v%2 for v in Counter(map(int,input().split())).values()) else 'Second')

import sys
input = sys.stdin.readline
from collections import Counter
def f():
  n = int(input())
  A = tuple(map(int, input().split()))
  if n%2:
    return False
  C = Counter(A)
  for v in C.values():
    if v%2:
      return True
  return False
t = int(input())
for _ in range(t):
  if f():
    print("First")
  else:
    print("Second")

#!/usr/bin/env python3

import sys
import math
from bisect import bisect_right as br
from bisect import bisect_left as bl
sys.setrecursionlimit(2147483647)
from heapq import heappush, heappop,heappushpop
from collections import defaultdict
from itertools import accumulate
from collections import Counter
from collections import deque
from operator import itemgetter
from itertools import permutations
mod = 10**9 + 7
inf = float('inf')
def I(): return int(sys.stdin.readline())
def LI(): return list(map(int,sys.stdin.readline().split()))

t = I()
for _ in range(t):
    n = I()
    a = LI()
    if n % 2 == 0:
        x = Counter(a)
        for i in list(x.values()):
            if i % 2:
                print("First")
                break
        else:
            print("Second")
    else:
        print("Second")


i=input
t=int(i())
for _ in range(t):
  n=int(i())
  a=sorted(map(int,i().split()))
  print('First' if n%2^(a[::2]!=a[1::2]) else 'Second')

from collections import defaultdict
printn = lambda x: print(x,end='')
inn = lambda : int(input())
inl   = lambda: list(map(int, input().split()))
inm   = lambda:      map(int, input().split())
ins = lambda : input().strip()
DBG = True # and False
BIG = 10**18
R = 10**9 + 7
#R = 998244353

def ddprint(x):
  if DBG:
    print(x)

t = inn()
for tt in range(t):
    n = inn()
    a = inl()
    if n%2>0:
        print('Second')
    else:
        h = defaultdict(int)
        for x in a:
            h[x] += 1
        hasod = False
        for x in h:
            if h[x]%2>0:
                hasod = True
                break
        print('First' if hasod else 'Second')


import sys,os,io
input = sys.stdin.readline
#input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
from collections import Counter
T = int(input())
ans = [0]*T
for t in range(T):
  n = int(input())
  A = list(map(int,input().split()))
  p = 0
  ans[t] = 'Second'
  if n%2==0:
    C = Counter(A)
    for v in C.values():
      if v%2==1:
        ans[t] = 'First'
        break
print(*ans, sep='\n')

from collections import *
i = input
for _ in range(int(i())):
  print('First' if int(i())%2^any(v%2 for v in Counter(map(int,i().split())).values()) else 'Second')

from collections import Counter
t = int(input())
for _ in range(t):
    n = int(input())
    a = list(map(int,input().split()))
    if n % 2:
        print("Second")
        continue
    c = Counter(a)
    check = True
    for i in list(c.values()):
        if i%2:
            check = False
            break
    if check:
        print("Second")
    else:
        print("First")


T = int(input())
for _ in range(T):
    N = int(input())
    S = list(map(int, input().split()))

    if N%2 == 1:
        print("Second")
    else:
        S.sort()
        for i in range(0, N, 2):
            if S[i] != S[i+1]:
                print("First")
                break
        else:
            print("Second")

import sys
from collections import Counter

sys.setrecursionlimit(10 ** 7)
input = sys.stdin.readline
f_inf = float('inf')
mod = 10 ** 9 + 7


def resolve():
    t = int(input())
    for _ in range(t):
        n = int(input())
        A = list(map(int, input().split()))
        if n % 2:
            print("Second")
        else:
            D = Counter(A)
            for v in list(D.values()):
                if v % 2:
                    print("First")
                    break
            else:
                print("Second")


def __starting_point():
    resolve()

__starting_point()

T=int(input())
while(T):
	T=T-1
	n=int(input())
	a=list(map(int,input().split()))
	a.sort()
	if(len(a)&1):
		print("Second")
	else:
		f=0
		for i in range(1,len(a),2):
			if(a[i]!=a[i-1]):
				f=1
		if(f):
			print("First")
		else:
			print("Second")


t = int(input())
for _ in range(t):
    n = int(input()); a = sorted(list(map(int, input().split())))
    print("First") if n%2 == 0 and a[::2] != a[1::2] else print("Second")

# -*- coding: utf-8 -*-

#############
# Libraries #
#############

import sys
input = sys.stdin.readline
sys.setrecursionlimit(1000000)

import math
#from math import gcd
import bisect
import heapq
from collections import defaultdict
from collections import deque
from collections import Counter
from functools import lru_cache

#############
# Constants #
#############

MOD = 10**9+7
INF = float('inf')
AZ = "abcdefghijklmnopqrstuvwxyz"

#############
# Functions #
#############

######INPUT######
def I(): return int(input().strip())
def S(): return input().strip()
def IL(): return list(map(int,input().split()))
def SL(): return list(map(str,input().split()))
def ILs(n): return list(int(input()) for _ in range(n))
def SLs(n): return list(input().strip() for _ in range(n))
def ILL(n): return [list(map(int, input().split())) for _ in range(n)]
def SLL(n): return [list(map(str, input().split())) for _ in range(n)]


#####Shorten#####
def DD(arg): return defaultdict(arg)

#####Inverse#####
def inv(n): return pow(n, MOD-2, MOD)

######Combination######
kaijo_memo = []
def kaijo(n):
  if(len(kaijo_memo) > n): return kaijo_memo[n]
  if(len(kaijo_memo) == 0): kaijo_memo.append(1)
  while(len(kaijo_memo) <= n): kaijo_memo.append(kaijo_memo[-1] * len(kaijo_memo) % MOD)
  return kaijo_memo[n]

gyaku_kaijo_memo = []
def gyaku_kaijo(n):
  if(len(gyaku_kaijo_memo) > n): return gyaku_kaijo_memo[n]
  if(len(gyaku_kaijo_memo) == 0): gyaku_kaijo_memo.append(1)
  while(len(gyaku_kaijo_memo) <= n): gyaku_kaijo_memo.append(gyaku_kaijo_memo[-1] * pow(len(gyaku_kaijo_memo),MOD-2,MOD) % MOD)
  return gyaku_kaijo_memo[n]

def nCr(n,r):
  if n == r: return 1
  if n < r or r < 0: return 0
  ret = 1
  ret = ret * kaijo(n) % MOD
  ret = ret * gyaku_kaijo(r) % MOD
  ret = ret * gyaku_kaijo(n-r) % MOD
  return ret

######Factorization######
def factorization(n):
  arr = []
  temp = n
  for i in range(2, int(-(-n**0.5//1))+1):
    if temp%i==0:
      cnt=0
      while temp%i==0: 
        cnt+=1 
        temp //= i
      arr.append([i, cnt])
  if temp!=1: arr.append([temp, 1])
  if arr==[]: arr.append([n, 1])
  return arr

#####MakeDivisors######
def make_divisors(n):
  divisors = []
  for i in range(1, int(n**0.5)+1):
    if n % i == 0:
      divisors.append(i)
      if i != n // i: 
        divisors.append(n//i)
  return divisors

#####MakePrimes######
def make_primes(N):
  max = int(math.sqrt(N))
  seachList = [i for i in range(2,N+1)]
  primeNum = []
  while seachList[0] <= max:
    primeNum.append(seachList[0])
    tmp = seachList[0]
    seachList = [i for i in seachList if i % tmp != 0]
  primeNum.extend(seachList)
  return primeNum

#####GCD#####
def gcd(a, b):
    while b: a, b = b, a % b
    return a

#####LCM#####
def lcm(a, b):
    return a * b // gcd (a, b)

#####BitCount#####
def count_bit(n):
  count = 0
  while n:
    n &= n-1
    count += 1
  return count

#####ChangeBase#####
def base_10_to_n(X, n):
  if X//n: return base_10_to_n(X//n, n)+[X%n]
  return [X%n]

def base_n_to_10(X, n):
  return sum(int(str(X)[-i-1])*n**i for i in range(len(str(X))))

def base_10_to_n_without_0(X, n):
  X -= 1
  if X//n: return base_10_to_n_without_0(X//n, n)+[X%n]
  return [X%n]

#####IntLog#####
def int_log(a, n):
  count = 0
  while n>=a:
    n //= a
    count += 1
  return count

#############
# Main Code #
#############

def solve():
  N = I()
  A = IL()
  if N%2:
    print("Second")
  else:
    dic = DD(int)
    for a in A:
      dic[a] = 1-dic[a]
    for k in dic:
      if dic[k]:
        print("First")
        return
    print("Second")

T = I()
for _ in range(T):
  solve()

import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, log, gcd
from itertools import accumulate, permutations, combinations, product
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from bisect import bisect, bisect_left
from heapq import heappush, heappop
from functools import reduce

def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return list(map(int, input().split()))
def LIST(): return list(map(int, input().split()))
def ZIP(n): return list(zip(*(MAP() for _ in range(n))))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10 ** 9 + 7

T = INT()

for _ in range(T):
    N = INT()
    a = LIST()

    if N%2:
        print("Second")
        continue
    cnt = Counter(a)

    print(("Second" if all(x%2==0 for x in list(cnt.values())) else "First"))


import sys
input=sys.stdin.readline
t=int(input())
for i in range(t):
	n=int(input())
	a=list(map(int,input().split()))
	if n%2==0:
		a.sort()
		same=True
		for i in range(n//2):
			if a[i*2]!=a[i*2+1]:
				same=False
				break
		if same:
			print("Second")
		else:
			print("First")
	else:
		print("Second")

i=input
for _ in range(int(i())):
 print('First' if int(i())%2^((a:=sorted(map(int,i().split())))[::2]!=a[1::2]) else 'Second')

# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(10**9)
INF=10**18
MOD=10**9+7
input=lambda: sys.stdin.readline().rstrip()
YesNo=lambda b: bool([print('Yes')] if b else print('No'))
YESNO=lambda b: bool([print('YES')] if b else print('NO'))
int1=lambda x:int(x)-1
from collections import Counter

T=int(input())
for _ in range(T):
    N=int(input())
    a=tuple(map(int,input().split()))
    if N%2:
        print('Second')
        continue
    c=Counter(a)
    for v in c.values():
        if v%2:
            print('First')
            break
    else:
        print('Second')

import sys
input=sys.stdin.readline
import collections
t=int(input())
for i in range(t):
  n=int(input())
  a=list(map(int,input().split()))
  if n%2==1:
    print('Second')
  else:
    A=collections.Counter(a)
    count=list(A.values())
    for j in range(len(count)):
      if count[j]%2==1:
        print('First')
        break
    else:
      print('Second')

sc = map(int, open(0).read().split())
ni = lambda: next(sc)

T = ni()
for _ in range(T):
    N = ni()
    A = sorted(ni() for _ in range(N))

    if N % 2 == 0 and A[::2] != A[1::2]:
        print("First")
    else:
        print("Second")

from collections import Counter
t=int(input())

for _ in range(t):
    n=int(input())
    *a,=map(int, input().split())
    ca=Counter(a)
    if n%2:
        print('Second')
        continue
    first=0
    for ai in ca:
        if ca[ai]%2:
            first=1
            break
    if first:
        print('First')
    else:
        print('Second')

t = int(input())
for _ in range(t):
  n = int(input())
  a = list(map(int, input().split()))
  if n % 2:
    print("Second")
    continue
  from collections import Counter
  c = Counter(a)
  for i, j in c.items():
    if j % 2:
      print("First")
      break
  else:
    print("Second")