Nim is the most famous two-player algorithm game. The basic rules for this game are as follows:

The game starts with a number of piles of stones.  The number of stones in each pile may not be equal.
The players alternately pick up $\mbox{1}$ or more stones from $\mbox{1}$ pile
The player to remove the last stone wins.

For example, there are $n=3$ piles of stones having $pile=[3,2,4]$ stones in them.  Play may proceed as follows:

Player  Takes           Leaving
                        pile=[3,2,4]
1       2 from pile[1]  pile=[3,4]
2       2 from pile[1]  pile=[3,2]
1       1 from pile[0]  pile=[2,2]
2       1 from pile[0]  pile=[1,2]
1       1 from pile[1]  pile=[1,1]
2       1 from pile[0]  pile=[0,1]
1       1 from pile[1]  WIN

Given the value of $n$ and the number of stones in each pile, determine the game's winner if both players play optimally.

Function Desctription  

Complete the nimGame function in the editor below.  It should return a string, either First or Second.  

nimGame has the following parameter(s):  

pile: an integer array that represents the number of stones in each pile  

Input Format

The first line contains an integer, $\mathrm{~g~}$, denoting the number of games they play.

Each of the next $\mathrm{~g~}$ pairs of lines is as follows:  

The first line contains an integer $n$, the number of piles.
The next line contains $n$ space-separated integers $pile[i]$, the number of stones in each pile.

Constraints

$1\leq g\leq100$
$1\leq n\leq100$
$0\leq s_i\leq100$
Player 1 always goes first.

Output Format

For each game, print the name of the winner on a new line (i.e., either First or Second).

Sample Input
2
2
1 1
3
2 1 4

Sample Output
Second
First

Explanation

In the first case, there are $n=2$ piles of $pile=[1,1]$ stones.  Player $\mbox{1}$ has to remove one pile on the first move.  Player $2$ removes the second for a win.

In the second case, there are $n=3$ piles of $pile=[2,1,4]$ stones.  If player $\mbox{1}$ removes any one pile, player $2$ can remove all but one of another pile and force a win.  If player $\mbox{1}$ removes less than a pile, in any case, player $2$ can force a win as well, given optimal play.

Difficulty: EASY

Solutions:
test = int(input())
for _ in range(test):
	pile = int(input())
	ar = list(map(int, input().strip().split()))
	xor = 0
	for n in ar:
		xor = xor ^ n
	if xor == 0:
		print('Second')
	else:
		print('First')


import functools
for _ in range(int(input())):
	input()
	print('First' if functools.reduce(lambda x, y: x ^ y, list(map(int, input().split()))) != 0 else 'Second')


def nim_sum(a, n):
	ans = 0
	for i in range(n):
		ans = ans ^ a[i]
	return ans
t = int(input())
while t != 0:
	t -= 1
	n = int(input())
	a = [int(i) for i in input().split()]
	if nim_sum(a, n) != 0:
		print('First')
	else:
		print('Second')


import sys

def ints():
	return map(int, sys.stdin.readline().split())
[t] = ints()
for i in range(0, t):
	[n] = ints()
	a = 0
	for j in ints():
		a ^= j
	if a == 0:
		print('Second')
	else:
		print('First')


from functools import reduce
T = int(input())
while T > 0:
	N = int(input())
	piles = list(map(int, input().split()))
	piles_xor = reduce(lambda x, y: x ^ y, piles)
	if piles_xor != 0:
		print('First')
	else:
		print('Second')
	T -= 1


for i in range(int(input())):
	input()
	(n, a) = (0, map(int, input().split()))
	for j in a:
		n ^= j
	print('First' if n else 'Second')


cases = int(input())
for j in range(cases):
	N = int(input())
	D = list(map(int, input().split(' ')))
	s = D[0]
	for i in range(1, N):
		s = s ^ D[i]
	if s == 0:
		print('Second')
	else:
		print('First')


import sys
for _ in range(int(input())):
	n = input()
	if int(n) > 0 and int(n) < 101:
		heaps = input().split(' ')
		xor = int(heaps[0])
		for d in range(1, int(n)):
			xor ^= int(heaps[d])
		if xor == 0:
			print('Second')
		else:
			print('First')


for i in range(int(input())):
	n = int(input())
	rows = [int(x) for x in input().split()]
	if n == 1:
		print('First')
		continue
	result = 0
	for i in rows:
		result = i ^ result
	if result == 0:
		print('Second')
	else:
		print('First')


def find(a):
	s = a[0]
	for i in range(1, len(a)):
		s ^= a[i]
	if s == 0:
		return 'Second'
	else:
		return 'First'
for _ in range(int(input())):
	n = int(input())
	my_list = [int(i) for i in input().strip().split()]
	print(find(my_list))


def find(a):
	s = a[0]
	for i in range(1, len(a)):
		s ^= a[i]
	if s == 0:
		return 'Second'
	else:
		return 'First'
for _ in range(int(input())):
	n = input()
	my_list = list(map(int, input().split()))
	print(find(my_list))


t = int(input())
for k in range(t):
	n = int(input())
	a = list(map(int, input().split()))
	s = a[0]
	for i in range(1, n):
		s = s ^ a[i]
	if s == 0:
		print('Second')
	else:
		print('First')


from collections import Counter
for _ in range(int(input())):
	n = int(input())
	l = [int(x) for x in input().split() if x != '0']
	k = 0
	for x in l:
		k ^= x
	if k == 0:
		print('Second')
	else:
		print('First')


from functools import reduce
T = int(input())
while T:
	input()
	print('First' if reduce(lambda x, y: x ^ y, [int(x) for x in input().split()]) else 'Second')
	T += -1


T = int(input().strip())
for t in range(T):
	N = int(input().strip())
	A = [int(a) for a in input().strip().split(' ')]
	tot = A[0]
	for i in range(1, N):
		tot ^= A[i]
	if tot != 0:
		print('First')
	else:
		print('Second')


def find(a):
	a = list(a)
	s = a[0]
	for i in range(1, len(a)):
		s ^= a[i]
	if s == 0:
		return 'Second'
	else:
		return 'First'
f = int(input())
for j in range(f):
	n = input()
	my_list = map(int, input().split())
	print(find(my_list))


for _ in range(int(input())):
	n = int(input())
	arr = [int(i) for i in input().split()]
	nimsum = 0
	for i in arr:
		nimsum ^= i
	if nimsum == 0:
		print('Second')
	else:
		print('First')


t = int(input())
for i in range(t):
	n = int(input())
	li = list(input().split())
	li = [int(m) for m in li]
	xor = 0
	for k in li:
		xor ^= k
	if xor == 0:
		print('Second')
	else:
		print('First')


for _ in range(int(input())):
	input()
	x = 0
	for i in map(int, input().split()):
		x ^= i
	print('First' if x else 'Second')


def getWinner(n):
	s = n[0]
	for x in range(1, len(n)):
		s ^= n[x]
	if s == 0:
		return 'Second'
	else:
		return 'First'
t = int(input())
if t > 0 and t <= 100:
	for _ in range(t):
		n = int(input())
		if n > 0 and n <= 100:
			s = input()
			towers = list(map(int, s.split(' ')))
			print(getWinner(towers))


import sys
from operator import xor
from functools import reduce
g = int(input().strip())
for i in range(g):
	n = int(input().strip())
	print('First' if reduce(lambda i, j: xor(i, j), [int(i) for i in input().split(' ')]) else 'Second')


from functools import reduce
g = int(input())
for _ in range(g):
	_ = input()
	if reduce(lambda a, b: a ^ b, [int(raw_stones) for raw_stones in input().split(' ')]) != 0:
		print('First')
	else:
		print('Second')


from functools import reduce
print('\n'.join(map(lambda x: 'First' if reduce(int.__xor__, x[1]) else 'Second', ((input(), map(int, input().split())) for _ in range(int(input()))))))


for _ in range(int(input().strip())):
	n = input()
	res = 0
	for z in [int(y) for y in input().split()]:
		res ^= z
	if res == 0:
		print('Second')
	else:
		print('First')


t = int(input().strip())
for _ in range(t):
	n = int(input().strip())
	arr = list(map(int, input().strip().split()))
	ans = arr[0]
	for a in arr[1:]:
		ans = ans ^ a
	if ans == 0:
		print('Second')
	else:
		print('First')


t = int(input())
for _ in range(t):
	n = int(input())
	ar = [int(i) for i in input().split()]
	ans = ar[0]
	for i in range(1, len(ar)):
		ans = ans ^ ar[i]
	if ans == 0:
		print('Second')
	else:
		print('First')


import sys
g = int(input().strip())
for game in range(g):
	n = int(input().strip())
	s = [int(arr_temp) for arr_temp in input().strip().split(' ')]
	sum = 0
	tot = 0
	for i in s:
		sum = sum ^ i
		tot += i
	if n > 1:
		if sum == 0:
			print('Second')
		else:
			print('First')
	elif tot > 1:
		print('First')
	else:
		print('Second')


from functools import reduce
print('\n'.join(map(lambda x: 'First' if reduce(int.__xor__, x[1]) else 'Second', ((input(), map(int, input().split())) for _ in range(int(input()))))))


from functools import reduce
print('\n'.join(map(lambda x: 'First' if reduce(int.__xor__, x[1]) else 'Second', ((input(), map(int, input().split())) for _ in range(int(input()))))))


from functools import reduce
from operator import xor
for _ in range(int(input().strip())):
	input()
	print('First' if reduce(xor, map(int, input().strip().split(' '))) else 'Second')