Leha somehow found an array consisting of n integers. Looking at it, he came up with a task. Two players play the game on the array. Players move one by one. The first player can choose for his move a subsegment of non-zero length with an odd sum of numbers and remove it from the array, after that the remaining parts are glued together into one array and the game continues. The second player can choose a subsegment of non-zero length with an even sum and remove it. Loses the one who can not make a move. Who will win if both play optimally?


-----Input-----

First line of input data contains single integer n (1 ≤ n ≤ 10^6) — length of the array.

Next line contains n integers a_1, a_2, ..., a_{n} (0 ≤ a_{i} ≤ 10^9).


-----Output-----

Output answer in single line. "First", if first player wins, and "Second" otherwise (without quotes).


-----Examples-----
Input
4
1 3 2 3

Output
First

Input
2
2 2

Output
Second



-----Note-----

In first sample first player remove whole array in one move and win.

In second sample first player can't make a move and lose.

Difficulty: EASY
Tags: Game theory

Mathematics

Starter code:

Solutions:
n = int(input())
a = list(map(int, input().split()))
first_won = False
sums = sum(a)
if sums % 2:
	print('First')
else:
	for i in a:
		if i % 2:
			first_won = True
			break
	if first_won:
		print('First')
	else:
		print('Second')


n = input()
a = map(int, input().strip().split())
ok = False
for i in a:
	if i & 1:
		ok = True
if ok:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
sm = sum(a)
odds = 0
for x in a:
	if x % 2:
		odds += 1
if odds == 0:
	print('Second')
elif sm % 2:
	print('First')
else:
	print('First')


n = int(input())
a = map(int, input().split())
print('First' if sum([i % 2 for i in a]) else 'Second')


n = int(input())
a = list(map(int, input().split()))
isodd = False
if sum(a) % 2 == 1:
	print('First')
	return
for i in range(n):
	isodd = isodd or a[i] % 2 == 1
if isodd:
	print('First')
else:
	print('Second')


n = int(input())
a = [int(v) for v in input().split()]
s = 0
was_odd = False
for v in a:
	s += v
	if v & 1:
		was_odd = True
if s % 2 == 1:
	print('First')
elif was_odd:
	print('First')
else:
	print('Second')


import sys
n = int(input())
num = list(map(int, input().split()))
s = sum(num)
if s % 2 == 1:
	print('First')
else:
	ans = 'Second'
	for i in num:
		if i % 2 == 1:
			ans = 'First'
	print(ans)


n = int(input())
a = list(map(int, input().split()))
ans = 'Second'
for i in a:
	if i % 2 != 0:
		ans = 'First'
		break
print(ans)


n = int(input())
lista = input()
lista = lista.split(' ')
for i in range(len(lista)):
	lista[i] = int(lista[i])
j = 0
if sum(lista) % 2 == 1:
	print('First')
else:
	for i in lista:
		if i % 2 == 1:
			print('First')
			j = 1
			break
	if j != 1:
		print('Second')


def check():
	for _ in input().split():
		if int(_) & 1:
			return True
	return False
n = int(input())
if check():
	print('First')
else:
	print('Second')


length = int(input())
arr = input().split(' ')
summ = 0
isodd = False
for x in range(0, len(arr)):
	if int(arr[x]) % 2 != 0:
		isodd = True
	summ += int(arr[x])
if summ % 2 != 0 or (summ % 2 == 0 and isodd):
	print('First')
else:
	print('Second')


n = int(input())
S = input()
a = tuple(map(int, S.split()))
(da, db) = (0, 0)
for i in range(n):
	if a[i] % 2 == 1:
		da += 1
	db += a[i]
if db % 2 == 1:
	print('First')
elif da >= 1:
	print('First')
else:
	print('Second')


n = int(input())
arr = list(map(int, input().split()))
chck = 0
for item in arr:
	if item % 2 != 0:
		print('First')
		chck = 1
		break
if chck == 0:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
odd = []
even = []
for i in a:
	if i % 2 == 0:
		even.append(i)
	else:
		odd.append(i)
o = len(odd)
e = len(even)
c = 0
if o > e:
	c = 1
elif e == n:
	c = 2
else:
	c = 1
if c == 1:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
s = 0
c = 0
for i in a:
	if i % 2 != 0:
		c += 1
		s += i
	else:
		s += i
if s % 2 != 0:
	print('First')
elif c == 0:
	print('Second')
else:
	print('First')


_ = input()
s = list(map(int, input().split()))
t = 1
for i in s:
	if i % 2 == 1:
		t = 0
		break
if t == 0:
	print('First')
else:
	print('Second')


n = input()
a = list(map(int, input().split()))
sum = 0
for i in range(len(a)):
	sum += a[i]
if sum % 2 == 1:
	print('First')
else:
	flag = 0
	for i in range(len(a)):
		if a[i] % 2 == 1:
			flag = 1
	if flag:
		print('First')
	else:
		print('Second')


def kenti(a):
	k = 0
	for i in a:
		if i % 2 == 1:
			k += 1
	return k
n = int(input())
a = list(map(int, input().split()))
if sum(a) % 2 == 1:
	print('First')
elif sum(a) % 2 == 0 and kenti(a) < 1:
	print('Second')
else:
	print('First')


n = int(input())
li = list(map(int, input().split()))
c = 0
for i in range(n):
	if li[i] % 2 == 1:
		c = 1
		break
if c == 1:
	print('First')
else:
	print('Second')


from collections import Counter
n = int(input())
print('First' if any((i & 1 for i in map(int, input().split()))) else 'Second')


N = int(input())
TAB = [int(i) for i in input().split()]
if sum(TAB) % 2:
	print('First')
else:
	X = list(filter(lambda x: x % 2 == 1, TAB))
	if X:
		print('First')
	else:
		print('Second')


n = int(input())
s = input().split()
summ = 0
even = False
for c in s:
	cc = int(c)
	summ += cc
	if cc % 2 == 1:
		even = True
a = int(s[0])
b = int(s[-1])
if summ % 2 == 1:
	print('First')
elif a % 2 == 1 or b % 2 == 1:
	print('First')
elif even:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split(' ')))
s = sum(a)
even = 0
odd = 0
for i in range(n):
	if a[i] % 2 == 0:
		even += 1
	else:
		odd += 1
if s % 2 == 0:
	if odd > 0:
		print('First')
	else:
		print('Second')
else:
	print('First')


import os
import sys
from io import BytesIO, IOBase

def main():
	n = int(input())
	a = list(map(int, input().split(' ')))
	temp = sum(a)
	chk = 0
	for x in a:
		if x % 2 != 0:
			chk = 1
	print('First' if temp % 2 != 0 or chk == 1 else 'Second')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


n = int(input())
a = list(map(int, input().split()))
print('First' if any([ai % 2 == 1 for ai in a]) else 'Second')


n = int(input())
for num in list(map(int, input().split())):
	if num % 2 != 0:
		print('First')
		exit(0)
print('Second')


input()
for t in input().split():
	if int(t) % 2:
		print('First')
		break
else:
	print('Second')


n = int(input())
a = [int(x) for x in input().split()]
c = 0
for i in a:
	if i % 2:
		c += 1
if c > 0:
	print('First')
else:
	print('Second')


input()
print('First' if any((int(x) & 1 for x in input().split())) else 'Second')


n = int(input())
x = input().split(' ')
p = 0
for i in x:
	if int(i) % 2 != 0:
		print('First')
		exit()
print('Second')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
import random
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
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 list(map(int, sys.stdin.readline().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def main():
	n = I()
	a = LI()
	for c in a:
		if c % 2 == 1:
			return 'First'
	return 'Second'
print(main())


input()
A = list(map(int, input().split()))
print('First' if sum(A) % 2 else 'First' if any((a % 2 for a in A)) else 'Second')


n = int(input())
a = input().strip().split()
odd = 0
for item in a:
	if divmod(int(item), 2)[1] != 0:
		odd = 1
		break
if odd == 0:
	print('Second')
else:
	print('First')


def check_side(s, a, b, c):
	(found, partial_sum) = (False, 0)
	for i in range(a, b, c):
		partial_sum += s[i]
		if found:
			if partial_sum % 2 == 1:
				return True
		if s[i] % 2 == 0:
			found = True
	return False

def solve(l):
	if sum(l) % 2 == 1:
		return 'First'
	if l[0] % 2 == 1 or l[len(l) - 1] % 2 == 1:
		return 'First'
	if check_side(l, len(l) - 1, 1, -1) or check_side(l, 1, len(l) - 1, 1):
		return 'First'
	return 'Second'
n = int(input())
a = [int(i) for i in input().split()]
print(solve(a))


n = int(input())
l = [int(i) for i in input().split()]
s = 0
for i in l:
	s = (s + i) % 2
if s == 1:
	print('First')
else:
	f = 0
	for i in l:
		if i % 2 != 0:
			f = 1
			break
	if f == 1:
		print('First')
	else:
		print('Second')


n = int(input())
a = list(map(int, input().split()))
tot = sum(a)
if tot % 2 == 1:
	print('First')
else:
	all_even = True
	for a_i in a:
		if a_i % 2 == 1:
			all_even = False
			break
	if all_even:
		print('Second')
	else:
		print('First')


n = int(input())
x = list(map(int, input().split()))
odd_cnt = 0
for i in range(n):
	if x[i] % 2 != 0:
		odd_cnt += 1
if odd_cnt == 0:
	print('Second')
else:
	print('First')


n = int(input())
l = list(map(int, input().split(' ')))
suma = sum(l)
b = False
for x in l:
	if x % 2 == 1:
		b = True
print(['Second', 'First'][b])


import sys
input = sys.stdin.readline

def ceil(x):
	if x != int(x):
		x = int(x) + 1
	return x

def factorial(x, m):
	val = 1
	while x > 0:
		val = val * x % m
		x -= 1
	return val

def fact(x):
	val = 1
	while x > 0:
		val *= x
		x -= 1
	return val

def swaparr(arr, a, b):
	temp = arr[a]
	arr[a] = arr[b]
	arr[b] = temp

def gcd(a, b):
	if b == 0:
		return a
	return gcd(b, a % b)

def nCr(n, k):
	if k > n - k:
		k = n - k
	res = 1
	for i in range(k):
		res = res * (n - i)
		res = res / (i + 1)
	return int(res)

def upper_bound(a, x, lo=0, hi=None):
	if hi == None:
		hi = len(a)
	while lo < hi:
		mid = (lo + hi) // 2
		if a[mid] < x:
			lo = mid + 1
		else:
			hi = mid
	return lo

def primefs(n):
	primes = {}
	while n % 2 == 0 and n > 0:
		primes[2] = primes.get(2, 0) + 1
		n = n // 2
	for i in range(3, int(n ** 0.5) + 2, 2):
		while n % i == 0 and n > 0:
			primes[i] = primes.get(i, 0) + 1
			n = n // i
	if n > 2:
		primes[n] = primes.get(n, 0) + 1
	return primes

def power(x, y, p):
	res = 1
	x = x % p
	if x == 0:
		return 0
	while y > 0:
		if y & 1 == 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res

def swap(a, b):
	temp = a
	a = b
	b = temp
	return (a, b)

def find(x, link):
	p = x
	while p != link[p]:
		p = link[p]
	while x != p:
		nex = link[x]
		link[x] = p
		x = nex
	return p

def union(x, y, link, size):
	x = find(x, link)
	y = find(y, link)
	if size[x] < size[y]:
		(x, y) = swap(x, y)
	if x != y:
		size[x] += size[y]
		link[y] = x

def sieve(n):
	prime = [True for i in range(n + 1)]
	(prime[0], prime[1]) = (False, False)
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	return prime
MAXN = int(100000.0 + 5)

def spf_sieve():
	spf[1] = 1
	for i in range(2, MAXN):
		spf[i] = i
	for i in range(4, MAXN, 2):
		spf[i] = 2
	for i in range(3, ceil(MAXN ** 0.5), 2):
		if spf[i] == i:
			for j in range(i * i, MAXN, i):
				if spf[j] == j:
					spf[j] = i
spf = [0 for i in range(MAXN)]

def factoriazation(x):
	res = []
	for i in range(2, int(x ** 0.5) + 1):
		while x % i == 0:
			res.append(i)
			x //= i
	if x != 1:
		res.append(x)
	return res

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

def float_array():
	return list(map(float, input().strip().split()))

def str_array():
	return input().strip().split()
MOD = int(1000000000.0) + 7
CMOD = 998244353
INF = float('inf')
NINF = -float('inf')
from itertools import permutations
import math
from bisect import bisect_left

def solve():
	n = int(input())
	a = list(map(int, input().split()))
	for i in range(1, n):
		a[i] += a[i - 1]
	flag = 0
	if a[-1] % 2 == 0:
		flag = 1
	if flag == 1:
		for x in a:
			if x % 2 == 1:
				print('First')
				break
		else:
			print('Second')
	else:
		print('First')
for _ in range(1):
	solve()


input()
ans = 0
for _ in map(int, input().split()):
	ans |= _ & 1
print(['Second', 'First'][ans])


n = int(input())
nums = list(map(int, input().split()))
isOk = False
for i in nums:
	if i & 1:
		isOk = True
		break
print('First' if isOk else 'Second')


n = input()
a = map(int, input().strip().split())
print(['Second', 'First'][any([ai % 2 != 0 for ai in a])])


n = int(input())
a = list(map(int, input().split()))
III_found = False
for i in a:
	if i % 2 == 1:
		III_found = True
		break
print(('First', 'Second')[sum(a) % 2 == 0 and (not III_found)])


def main():
	n = int(input())
	L = [int(x) for x in input().split()]
	print(solver(L))

def solver(L):
	for x in L:
		if x % 2 == 1:
			return 'First'
	return 'Second'
main()


n = int(input())
a = list(map(int, input().split()))
if sum(a) % 2 == 1:
	print('First')
elif any((i % 2 == 1 for i in a)):
	print('First')
else:
	print('Second')


n = int(input())
d = list(map(int, input().split()))
if any([i % 2 for i in d]):
	print('First')
else:
	print('Second')


n = int(input())
a = map(int, input().split())
for i in a:
	if i % 2 == 1:
		print('First')
		exit(0)
print('Second')


yolo = int(input())
pren = [int(z) for z in input().split()]
k = 'Second'
for j in range(yolo):
	if pren[j] % 2 == 1:
		k = 'First'
print(k)


from math import *
from copy import *
from string import *
from random import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
import math

def bin1(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = k ** mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin1(mid + 1, r, k, t, b, val, ans)
		else:
			return bin1(l, mid - 1, k, t, b, val, ans)

def bin2(l, r, k, t, b, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		v = t * k ** mid + b * mid
		if v == val:
			return v
		elif v > val:
			ans = mid
			return bin2(l, mid - 1, k, t, b, val, ans)
		else:
			return bin2(mid + 1, r, k, t, b, val, ans)

def SieveOfEratosthenes(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	l = []
	for i in range(2, n + 1):
		if prime[i]:
			l.append(i)
	return l

def bin(l, r, ll, val):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		if val >= ll[mid][0] and val <= ll[mid][1]:
			return mid
		elif val < ll[mid][0]:
			return bin(l, mid - 1, ll, val)
		else:
			return bin(mid + 1, r, ll, val)

def deci(n):
	s = ''
	while n != 0:
		if n % 2 == 0:
			n = n // 2
			s = '0' + s
		else:
			n = n // 2
			s = '1' + s
	return s

def diff(s1, s2):
	if len(s1) < len(s2):
		v = len(s1)
		while v != len(s2):
			s1 = '0' + s1
			v = v + 1
	else:
		v = len(s2)
		while v != len(s1):
			s2 = '0' + s2
			v = v + 1
	c = 0
	for i in range(len(s1)):
		if s1[i:i + 1] != s2[i:i + 1]:
			c = c + 1
	return c
from sys import stdin, stdout

def fac(a, b):
	v = a
	while a != b:
		v *= a - 1
		a = a - 1
	return v

def bino(l, r, n):
	if l > r:
		return -1
	else:
		mid = (l + r) // 2
		val1 = math.log(n / mid + 1, 2)
		val2 = int(val1)
		if val1 == val2:
			return val1
		elif val1 < 1.0:
			return bino(l, mid - 1, n)
		else:
			return bino(mid + 1, r, n)

def binary(l, r, ll, val, ans):
	if l > r:
		return ans
	else:
		mid = (l + r) // 2
		if val % ll[mid] == 0:
			ans = ll[mid]
			return binary(l, mid - 1, ll, val, ans)
		else:
			return binary(l, mid - 1, ll, val, ans)

def odd(n, ans, s):
	if n % 2 != 0 or n in s:
		return ans
	else:
		s.add(n)
		return odd(n // 2, ans + 1, s)
n = int(input())
l = list(map(int, input().split(' ')))
c1 = 0
c2 = 0
for i in l:
	if i % 2 == 0:
		c2 += 1
	else:
		c1 += 1
if c1 > 0:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
sa = sum(a)
flag = False
for x in a:
	if x & 1:
		flag = True
		break
print(('Second', 'First')[sa & 1 or flag])


n = input()
l = list(map(int, input().split()))
for i in l:
	if i % 2 != 0:
		print('First')
		exit()
print('Second')


n = int(input())
l = map(int, list(input().split()))
s = 0
for i in l:
	if i % 2:
		print('First')
		s = 1
		break
if s != 1:
	print('Second')


n = int(input())
a = [int(i) for i in input().split()]
v = 0
s = 0
if sum(a) % 2 != 0:
	print('First')
else:
	for i in a:
		if i % 2 == 0:
			v += 1
		else:
			s += 1
	if v == s:
		print('First')
	elif v == n:
		print('Second')
	elif s == n or s > v:
		print('First')
	else:
		print('First')


n = int(input())
l = list(map(int, input().split()))
j = 0
for q in l:
	if q % 2:
		j += 1
if j:
	print('First')
else:
	print('Second')


n = input()
N = input().split()
N = [int(i) for i in N]
odd = 0
for i in N:
	if i % 2 == 1:
		odd += 1
if odd > 0:
	print('First')
else:
	print('Second')


n = int(input())
l = [int(i) for i in input().split()]
print('First' if any((i & 1 for i in l)) else 'Second')


n = int(input())
a = [int(x) % 2 for x in input().split()]
if sum(a) > 0:
	print('First')
else:
	print('Second')


n = int(input())
arr = list(map(int, input().split()))
if sum(arr) % 2 == 1:
	print('First')
else:
	counter = 0
	for i in arr:
		if i % 2 == 1:
			counter += 1
	if counter == 0:
		print('Second')
	elif counter % 2 == 0:
		print('First')
	else:
		print('Second')


import sys
n = int(input())
arr = list(map(int, input().split()))
flag = False
sum = False
for i in arr:
	if i % 2 == 1:
		sum = ~sum
		flag = True
if sum == True:
	print('First')
elif flag == True:
	print('First')
else:
	print('Second')


s = int(input())
ss = list(map(int, input().split()))
flag = 0
for i in range(s):
	if ss[i] % 2 == 1:
		flag = 1
		break
if flag:
	print('First')
else:
	print('Second')


n = int(input())
l = [int(i) for i in input().split()]
if sum(l) % 2 == 1:
	print('First')
else:
	for el in l:
		if el % 2 == 1:
			print('First')
			break
	else:
		print('Second')


n = int(input())
l = list(map(lambda x: int(x[-1]), input().split()))
k = 0
while True:
	j = sum(l)
	if k % 2 == 0:
		if j % 2 != 0:
			print('First')
			break
		else:
			for x in range(len(l)):
				if l[x] % 2 == 1:
					l = l[:x] + l[x + 1:]
					break
			else:
				print('Second')
				break
	elif j % 2 == 0:
		print('Second')
		break
	else:
		for x in range(len(l)):
			if l[x] % 2 == 0:
				l = l[:x] + l[x + 1:]
				break
		else:
			print('First')
			break
	k += 1


n = int(input())
m = list(map(int, input().split()))
for i in m:
	if i % 2 == 1:
		print('First')
		break
else:
	print('Second')


n = int(input())
arr = [int(x) for x in input().split()]
odd_cnt = sum((x % 2 == 1 for x in arr))
print('First' if odd_cnt > 0 else 'Second')


n = int(input())
for x in list(map(int, input().split())):
	if x & 1 != 0:
		print('First')
		exit()
print('Second')


n = int(input())
a = list(map(int, input().strip().split(' ')))
odd = 0
for i in range(n):
	if a[i] % 2 != 0:
		odd = 1
		break
if odd == 0:
	print('Second')
else:
	print('First')


from sys import maxsize, stdout, stdin, stderr
mod = int(1000000000.0 + 7)
import re

def tup():
	return map(int, stdin.readline().split())

def I():
	return int(stdin.readline())

def lint():
	return [int(x) for x in stdin.readline().split()]

def S():
	return input().strip()

def grid(r, c):
	return [lint() for i in range(r)]

def debug(*args, c=6):
	print('\x1b[3{}m'.format(c), *args, '\x1b[0m', file=stderr)
from math import log2, sqrt
n = int(stdin.readline())
ls = [int(x) for x in stdin.readline().split()]
(ev, od) = (0, 0)
for i in range(n):
	if ls[i] % 2 == 1:
		od += 1
	else:
		ev += 1
if od % 2 == 1:
	print('First')
elif od == 0:
	print('Second')
else:
	print('First')


n = int(input())
a = map(int, input().split())
ans = 0
for x in a:
	ans += x % 2
if ans > 0:
	print('First')
else:
	print('Second')


input()
print(('Second', 'First')[any((int(i) % 2 for i in input().split()))])


n = int(input())
a = list(map(int, input().split()))
b = False
for i in a:
	if i % 2 == 1:
		print('First')
		b = True
		break
if not b:
	print('Second')


import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
for i in a:
	if i % 2 != 0:
		print('First')
		sys.exit(0)
print('Second')


n = input()
print('First') if sum(map(lambda x: int(x) % 2, input().split(' '))) > 0 else print('Second')


from sys import stdin

def ii():
	return int(stdin.readline())

def mi():
	return map(int, stdin.readline().split())

def li():
	return list(mi())

def si():
	return stdin.readline()
n = ii()
f = 0
a = li()
for i in a:
	if i & 1:
		f = 1
		break
print(['Second', 'First'][f])


array_len = int(input())
idx___value = [int(x) for x in input().split()]
if sum(idx___value) % 2 != 0:
	print('First')
	exit()
lose_flag = True
for value in idx___value:
	if value % 2 != 0:
		lose_flag = False
		break
if lose_flag:
	print('Second')
	exit()
else:
	print('First')
	exit()


n = int(input())
a = list(map(int, input().split()))
for i in range(0, len(a)):
	if a[i] % 2 != 0:
		print('First')
		exit()
print('Second')


n = int(input())
a = list(map(int, input().split()))
od = 0
ev = 0
for i in range(n):
	if a[i] % 2 == 0:
		ev += 1
	else:
		od += 1
if od > 0:
	print('First')
else:
	print('Second')


n = int(input())
A = list(map(int, input().split(' ')))
if sum(A) % 2 != 0:
	print('First')
else:
	flg = 0
	for i in range(0, n):
		if A[i] % 2 != 0:
			flg = 1
			break
	if flg == 1:
		print('First')
	else:
		print('Second')


n = int(input())
a = list(map(int, input().split()))
print('First' if any(map(lambda ai: ai % 2 == 1, a)) else 'Second')


input()
for x in input().split():
	if int(x) % 2:
		print('First')
		exit()
print('Second')


x = input()
y = input().split()
y = [int(i) for i in y]
c1 = 0
c2 = 0
for i in y:
	if i % 2 == 0:
		c1 += 1
	else:
		c2 += 1
if sum(y) % 2 != 0:
	print('First')
elif c2 != 0:
	print('First')
else:
	print('Second')


n = int(input())
l = map(int, list(input().split()))
odd = []
even = []
for i in l:
	if i % 2:
		odd.append(i)
	else:
		even.append(i)
if len(odd) != 0:
	print('First')
else:
	print('Second')


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


n = int(input())
l = list(map(int, input().split()))
c = 0
for i in range(n):
	c += int(l[i] % 2)
if c == 0:
	print('Second')
else:
	print('First')


cnt = lambda s, x: s.count(x)
ii = lambda : int(input())
si = lambda : input()
f = lambda : map(int, input().split())
dgl = lambda : list(map(int, input()))
il = lambda : list(map(int, input().split()))
n = ii()
(o, e) = (0, 0)
sm = 0
l = il()
for i in range(n):
	sm += l[i]
	if l[i] & 1:
		o += 1
	else:
		e += 1
if sm & 1:
	print('First')
elif o > 0:
	print('First')
else:
	print('Second')


import sys
numberOfIntegers = sys.stdin.readline()
Integers = sys.stdin.readline()
number = int(numberOfIntegers)
eachInteger = Integers.split()
stillOkay = True
for i in range(0, number):
	eachInteger[i] = int(eachInteger[i])
	if eachInteger[i] % 2 == 0:
		pass
	elif eachInteger[i] % 2 == 1:
		stillOkay = False
if stillOkay == True:
	print('Second')
else:
	print('First')


n = int(input())
arr = list(map(int, input().split()))
x = list(filter(lambda x: x % 2 != 0, arr))
if len(x) == 0:
	print('Second')
else:
	print('First')


n = int(input())
s = 0
o = False
a = input().split(' ')
for i in a:
	if o is False and int(i) % 2 == 1:
		o = True
if o:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
flag = 0
for i in range(0, n):
	if a[i] % 2:
		flag = 1
if flag:
	print('First')
else:
	print('Second')
for i in range(1, 10000):
	for j in range(1, 1000):
		x = 1


n = int(input())
sum = 0
nech = 0
j = input().split()
for i in range(n):
	c = int(j[i])
	sum += c
	if c % 2 == 1:
		nech = 1
if sum % 2 == 0:
	if nech % 2 == 1:
		print('First')
	else:
		print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
flag = 0
for i in range(0, n):
	if a[i] % 2:
		flag = 1
if flag:
	print('First')
else:
	print('Second')
n = 1000000
for i in range(1, n):
	x = 1
for i in range(1, n):
	x = 2


n = int(input())
arr = list(map(int, input().strip().split()))
if sum(arr) % 2 == 1:
	print('First')
else:
	st = 0
	for x in arr:
		if x % 2 == 1:
			print('First')
			st = 1
			break
	if st == 0:
		print('Second')


length = int(input())
array = list(map(int, input().split()))
odd = [x for x in array if x % 2 != 0]
even = [x for x in array if x % 2 == 0]
if even and odd:
	print('First')
elif odd and (not even):
	print('First')
else:
	print('Second')


import sys
inf = float('inf')
abc = 'abcdefghijklmnopqrstuvwxyz'
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}
(mod, MOD) = (1000000007, 998244353)
vow = ['a', 'e', 'i', 'o', 'u']
(dx, dy) = ([-1, 1, 0, 0], [0, 0, 1, -1])

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def input():
	return sys.stdin.readline().strip()
n = int(input())
Arr = get_array()
total = 0
ct_odd = 0
ct_even = 0
for i in Arr:
	total += i
	if i & 1:
		ct_odd += 1
	else:
		ct_even += 1
if total % 2 == 1:
	print('First')
elif ct_odd == 0:
	print('Second')
elif ct_odd % 2 == 0:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
if sum(a) % 2 == 1:
	print('First')
else:
	cnt = 0
	for i in a:
		if i % 2 == 1:
			cnt += 1
	if cnt == 0:
		print('Second')
	else:
		print('First')


n = int(input())
l = list(map(int, input().split()))
t = sum(l)
k = 0
for i in range(n):
	if l[i] % 2 == 1:
		k = k + 1
if t % 2 == 1:
	print('First')
elif k == 0:
	print('Second')
else:
	print('First')


input()
res = 'Second'
for i in map(int, input().split()):
	if i & 1:
		res = 'First'
		break
print(res)


n = int(input())
a = [int(i) for i in input().split()]
z = 0
for i in range(len(a)):
	if a[i] % 2 != 0:
		print('First')
		z = 1
		break
if z != 1:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
s = 0
for i in range(n):
	if a[i] % 2 != 0:
		s += a[i]
print('First' if s != 0 else 'Second')


input()
print('SFeicrosntd'[any((i % 2 for i in map(int, input().split())))::2])


n = int(input())
l = list(map(int, input().split()))
l.sort()
sum1 = sum(l)
if sum1 % 2 == 1:
	print('First')
else:
	for i in l[::-1]:
		if i % 2 == 1:
			print('First')
			break
	else:
		print('Second')


def main():
	n = input()
	ans = 0
	x = input()
	arr = x.split()
	for i in arr:
		if int(i) % 2:
			ans = 1
	if ans == 1:
		print('First')
	else:
		print('Second')
main()


import sys
n = int(input())
l = tuple(map(int, input().split()))
for i in l:
	if i & 1:
		print('First')
		break
else:
	print('Second')


import sys, math
n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))
odd = 0
for i in arr:
	if i % 2:
		odd += 1
print('First' if odd >= 1 else 'Second')


n = int(input())
s = [int(i) for i in input().split()]
u = 0
t = 0
for i in s:
	u += i
	u %= 2
	t += u
if u:
	print('First')
elif not t:
	print('Second')
else:
	print('First')


import math
I = lambda : int(input())
ID = lambda : map(int, input().split())
IL = lambda : list(ID())
n = I()
a = IL()
odd = even = 0
for i in a:
	if i & 1:
		odd += 1
	else:
		even += 1
if odd == 0:
	print('Second')
	exit()
if sum(a) % 2:
	print('First')
	exit()
print('First')


n = int(input())
s = input().split()

def f(x):
	if x[-1] in '02468':
		return 0
	return 1
v = 0
for i in range(n):
	if s[i][-1] in '02468':
		None
	else:
		v += 1
if str(v)[-1] in '02468':
	if v > 0:
		print('First')
	else:
		print('Second')
else:
	print('First')


def aE(a):
	for i in a:
		if i % 2 != 0:
			return False
	return True

def cO(a):
	ans = 0
	for i in a:
		if i % 2 != 0:
			ans += 1
	return ans
n = int(input())
a = list(map(int, input().split()))
if aE(a):
	exit(print('Second'))
print('First')


N = int(input())
A = [int(i) for i in input().split()]
for n in A:
	if n % 2:
		print('First')
		break
else:
	print('Second')


a = int(input())
l = list(map(int, input().split()))
a = sum(l)
if a % 2 == 0:
	fl = False
	for i in range(len(l)):
		if l[i] % 2 != 0:
			fl = True
			break
	if fl == False:
		print('Second')
	else:
		print('First')
else:
	print('First')


import sys
input = lambda : sys.stdin.readline().rstrip('\r\n')
n = int(input())
a = list(map(int, input().split()))
tot = sum(a)
odd = False
for i in a:
	if i & 1:
		odd = True
		break
print('First' if odd else 'Second')


lenght = int(input())
values = map(int, input().split())
first_wins = False
for i in values:
	if i % 2:
		first_wins = True
		break
print('First') if first_wins else print('Second')


def solve():
	n = int(input())
	a = list(map(int, input().split()))
	if sum(a) % 2 == 0:
		if all((x % 2 == 0 for x in a)):
			return False
		else:
			return True
	else:
		return True

def main():
	if solve():
		print('First')
	else:
		print('Second')
main()


import sys
n = int(input())
game = list(map(int, input().split()))
for num in game:
	if num % 2 == 1:
		print('First')
		sys.exit()
print('Second')


r = lambda : int(input())
ra = lambda : [*map(int, input().split())]
p = lambda a: print('{:.6f}'.format(a))
n = r()
a = ra()

def b(e):
	d = [i for i in e if i % 2 == 1]
	if len(d) > 0:
		return 1
	else:
		return 2
w = {1: 'First', 2: 'Second'}
if sum(a) % 2 == 1:
	print(w[1])
else:
	print(w[b(a)])


import sys
number = int(input())
full_string = input()
lisst_ = [int(x) for x in full_string.split()]
f = 0
if sum(lisst_) % 2 == 0:
	for i in lisst_:
		if i % 2 != 0:
			f = 1
			break
	if f == 0:
		print('Second')
	else:
		print('First')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
f = 0
for i in range(n):
	a[i] %= 2
	if a[i] == 1:
		f = 1
n_sum = sum(a)
if n_sum % 2 == 1:
	print('First')
elif f == 1:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
nechet = 0
for el in a:
	if el % 2 == 1:
		nechet += 1
if nechet == 0:
	print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
if sum(a) % 2 != 0:
	print('First')
else:
	test = 0
	for i in a:
		if i % 2 != 0:
			test = 1
			break
	if not test:
		print('Second')
	else:
		print('First')


def check_right(s):
	found = False
	partial_sum = 0
	for i in range(len(s) - 1, 0, -1):
		partial_sum += s[i]
		if found:
			if partial_sum % 2 == 1:
				return True
		if s[i] % 2 == 0:
			found = True
	return False

def check_left(s):
	found = False
	partial_sum = 0
	for i in range(len(s) - 1):
		partial_sum += s[i]
		if found:
			if partial_sum % 2 == 1:
				return True
		if s[i] % 2 == 0:
			found = True
	return False

def solve(l):
	if sum(l) % 2 != 0:
		return 'First'
	if l[0] % 2 == 1 or l[len(l) - 1] % 2 == 1:
		return 'First'
	if check_left(l) or check_right(l):
		return 'First'
	return 'Second'
n = int(input())
a = [int(i) for i in input().split()]
print(solve(a))


n = int(input())
arr = [a % 2 for a in list(map(int, input().split()))]
if 1 in arr:
	print('First')
else:
	print('Second')


x = int(input())
a = list(map(int, input().split()))
if sum(a) % 2 == 1:
	print('First')
elif sum(a) % 2 == 0:
	for c in range(x):
		if a[c] % 2 == 1 or a[-1 - c] % 2 == 1:
			resp = 'First'
			break
		else:
			resp = 'Second'
	print(resp)


import sys
import math

def ria():
	return [int(i) for i in input().split()]
sz = ria()[0]
ar = ria()
suma = sum(ar)
if suma % 2 == 1:
	print('First')
	exit(0)
there = False
therek = False
for i in ar:
	if i % 2 == 1:
		there = True
	if i % 2 == 0:
		therek = True
if there and len(ar) > 2 or not therek:
	print('First')
else:
	print('Second')


t = int(input())
l = list(map(int, input().split()))
su = sum(l)
if su % 2 != 0:
	print('First')
else:
	c_e = 0
	c_o = 0
	for x in l:
		if x % 2 == 0:
			c_e = c_e + 1
		else:
			c_o = c_o + 1
	if c_e == t:
		print('Second')
	elif c_o == t:
		print('First')
	else:
		print('First')


n = int(input())
lis = list(map(int, input().split()))
if sum(lis) % 2 == 0:
	g = 0
	for i in range(len(lis)):
		if lis[i] % 2 == 0:
			g += 1
	if g == len(lis):
		print('Second')
	else:
		print('First')
else:
	print('First')


n = int(input())
lst = list(map(int, input().strip().split(' ')))
if sum(lst) % 2 != 0:
	print('First')
else:
	f = 0
	for i in range(n):
		if lst[i] % 2 != 0:
			f = 1
			print('First')
			break
	if f == 0:
		print('Second')


def nik(rud, panda):
	lfa = 0
	for x in rud:
		if x % 2 != 0:
			lfa = 1
	print('First') if panda % 2 != 0 or lfa == 1 else print('Second')
n = int(input())
rud = list(map(int, input().split(' ')))
panda = sum(rud)
nik(rud, panda)


n = int(input())
a = list(map(int, input().split()))
tot = sum(a)
if tot % 2 == 1:
	print('First')
else:
	for ai in a:
		if ai % 2 == 1:
			print('First')
			exit(0)
	print('Second')


n = int(input())
str = input()
ls = [int(u) for u in str.split()]
sum = 0
for u in ls:
	sum += u
cond = False
if sum % 2 != 0:
	print('First')
else:
	for u in ls:
		if u % 2 != 0:
			cond = True
	if cond == True:
		print('First')
	else:
		print('Second')


input()
for v in map(int, input().split()):
	if v & 1:
		print('First')
		exit()
print('Second')


count = int(input())
p_arr = input()
arr = p_arr.split()
win = False
summ = 0
for i in range(0, count):
	summ += int(arr[i])
if summ % 2 != 0:
	print('First')
	win = True
else:
	for j in range(0, count - 1):
		if int(arr[j]) % 2 != 0:
			if win != True:
				print('First')
				win = True
if win != True:
	print('Second')


import sys
import math
from collections import OrderedDict

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

def iinput():
	return int(input())

def minput():
	return map(int, input().split())

def listinput():
	return list(map(int, input().split()))
n = iinput()
a = listinput()
o = []
e = []
for i in a:
	if i % 2 == 0:
		e.append(i)
	else:
		o.append(i)
if sum(a) % 2 == 0 and len(o) == 0:
	print('Second')
else:
	print('First')


import math
import collections
import bisect
import heapq
import time
import random
import itertools
import sys
N = int(input())
A = [int(x) for x in input().split()]
S = sum(A)
if S % 2 != 0:
	print('First')
else:
	for a in A:
		if a % 2 == 1:
			print('First')
			exit(0)
	print('Second')


n = int(input())
arr = list(map(int, input().split()))[:n]
flag = 0
for i in range(n):
	if arr[i] & 1:
		flag = 1
		break
if flag == 1:
	print('First')
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
f = False
for _ in range(n):
	if l[_] % 2 == 1:
		f = True
if f == True:
	print('First')
else:
	print('Second')


n = int(input())
arr = [int(i) for i in input().split()]
tot = 0
odd = 0
even = 0
for i in range(n):
	if arr[i] & 1:
		odd += 1
	else:
		even += 1
	tot += arr[i]
if tot & 1:
	print('First')
elif n == even:
	print('Second')
else:
	print('First')


n = int(input())
a = [int(i) for i in input().split()]
if sum(a) % 2 != 0:
	print('First')
else:
	(odd, even) = (0, 0)
	for i in range(n):
		if a[i] % 2 == 0:
			even += 1
		else:
			odd += 1
	if odd == 0:
		print('Second')
	elif odd % 2 == 0:
		print('First')
	else:
		print('Second')


n = input()
li = [int(x) for x in input().split()]
for elem in li:
	if elem % 2 == 1:
		print('First')
		break
else:
	print('Second')


import sys
numbers = ''
i = 0
for line in sys.stdin:
	i += 1
	if i == 1:
		continue
	if i == 2:
		numbers = line[:-1]
		break
numbers = numbers.split(' ')
for num in numbers:
	if int(num) % 2 == 1:
		print('First')
		break
else:
	print('Second')


n = int(input())
ip = list(map(int, input().split()))
count = 0
odd = 0
for i in ip:
	if i % 2 == 1:
		odd = 1
	count += i
if count % 2 == 1:
	print('First')
elif odd == 1:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().strip().split()))
if sum(a) % 2 != 0:
	print('First')
else:
	c = 0
	d = 0
	for i in range(n):
		if a[i] % 2 == 0:
			c = c + 1
		else:
			d = d + 1
	if d == 0:
		print('Second')
	else:
		print('First')


n = int(input())
l = list(map(int, input().split(' ')))
if sum(l) % 2 != 0:
	print('First')
elif all([x % 2 == 0 for x in l]):
	print('Second')
else:
	print('First')


import sys
n = int(input())
lst = input()
lst = lst.split(' ')
lst = [int(x) for x in lst]
oddSum = 0
evenSum = 0
oddTurn = True
for num in lst:
	if num % 2 == 0:
		evenSum += num
	else:
		oddSum += num
remaining = n
if oddSum == 0:
	print('Second')
	sys.exit()
elif evenSum == 0:
	print('First')
	sys.exit()
while True:
	if oddTurn:
		remaining -= oddSum
		oddTurn = False
		if remaining <= 0:
			print('First')
			break
	else:
		remaining -= evenSum
		oddTurn = True
		if remaining <= 0:
			print('First')
			break


def main():
	import re
	input()
	for m in re.finditer('\\d\\b', input()):
		if ord(m.group()) & 1:
			print('First')
			return
	print('Second')
main()


a = int(input())
b = input().split()
e = 0
for i in range(a):
	d = int(b[i])
	if d % 2 == 0:
		e += 1
if e == a:
	print('Second')
else:
	print('First')


n = int(input())
a = [int(i) for i in input().split()]
sum = 0
for p in range(0, len(a)):
	sum = sum + a[p]
if sum % 2 != 0:
	print('First')
else:
	e = 0
	f = 0
	for i in range(0, len(a)):
		if a[i] % 2 != 0:
			e = e + 1
	if e > 0:
		print('First')
	else:
		print('Second')


from math import *
import itertools as it
from collections import *
EPS = 1e-09

def get_int():
	return int(input().strip())

def get_string():
	return input().strip()

def get_array():
	return list(map(int, input().strip().split(' ')))

def print_array(a, glue=' '):
	print(glue.join(map(str, a)))

def print_grid(grid, glue=' '):
	for row in grid:
		print_array(row, glue)

def solve():
	n = get_int()
	a = get_array()
	return 'Second' if all((x % 2 == 0 for x in a)) else 'First'
ntest = 1
for _ in range(ntest):
	print(solve())


n = int(input())
s = [int(i) for i in input().split()]
d = []
c = sum(s)
for i in range(n):
	if s[i] % 2 != 0:
		d.append(s[i])
if c % 2 != 0:
	print('First')
elif not d:
	print('Second')
else:
	print('First')


n = int(input())
l = list(map(int, input().split()))
c = 0
for i in range(n):
	if l[i] % 2 != 0:
		c += 1
s = sum(l)
if s % 2 != 0 or (s % 2 == 0 and c > 0):
	print('First')
else:
	print('Second')


import sys

def gcd(a, b):
	if a == 0:
		return b
	return gcd(b % a, a)
fast_reader = sys.stdin.readline
fast_writer = sys.stdout.write

def input():
	return fast_reader().strip()

def print(*argv):
	fast_writer(' '.join((str(i) for i in argv)))
	fast_writer('\n')
n = int(input())
l = list(map(int, input().split()))
c = 0
for i in range(n):
	c += int(l[i] % 2)
if c == 0:
	print('Second')
else:
	print('First')


(n, flag) = (int(input()), 0)
a = [int(i) for i in input().split()]
for i in a:
	if i % 2 != 0:
		flag = 1
		break
if flag == 1:
	print('First')
else:
	print('Second')


l = int(input())
seq = list(map(int, input().split()))
odd = 0
even = 0
tot = 0
for i in seq:
	if i % 2:
		odd += 1
		tot += i
	else:
		even += 1
		tot += i
if tot % 2:
	print('First')
elif odd:
	print('First')
else:
	print('Second')


n = int(input())
arr = input().strip().split()
for num in arr:
	if int(num) % 2 == 1:
		print('First')
		exit()
print('Second')


noe = int(input())
ele = [int(x) for x in input().split()]
eles = sorted(ele)
min_odd = None
for i in range(noe):
	if eles[i] % 2 == 1:
		min_odd = eles[i]
		break
if sum(ele) % 2 == 0:
	if min_odd != None:
		print('First')
	else:
		print('Second')
else:
	print('First')


n = int(input())
a = map(int, input().split())
for x in a:
	if x % 2:
		print('First')
		exit(0)
print('Second')


n = int(input().strip())
line = list(map(int, input().strip().split()))
check = False
for i in line:
	if i % 2 != 0:
		print('First')
		check = True
		break
if check == False:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
k = sum(a)
if k % 2 == 1:
	print('First')
else:
	found = False
	for x in a:
		if x % 2 == 1:
			found = True
			break
	if found:
		print('First')
	else:
		print('Second')


input()
ns = input().split()
for n in ns:
	if int(n) % 2 == 1:
		print('First')
		break
else:
	print('Second')


n = int(input())
I = [int(x) for x in input().split()]
k = 0
for i in I:
	if i % 2 == 0:
		k = k + 1
if k == n:
	print('Second')
else:
	print('First')


t = int(input())
arr = list(map(int, input().split(' ')))
odd = -1
if sum(arr) % 2 == 1:
	print('First')
else:
	pos = -1
	for i in range(0, t):
		if arr[i] % 2 == 1:
			pos = i
	if pos == -1:
		print('Second')
	else:
		print('First')


input()
a = list(map(int, input().split()))
for i in a:
	if i % 2 == 1:
		print('First')
		exit()
print('Second')


n = int(input())
ll = list(map(int, input().split()))
odd = 0
even = 0
for i in ll:
	if i % 2 == 0:
		even += 1
	else:
		odd += 1
if odd == 0:
	print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
odd = 0
for x in range(len(a)):
	if a[x] % 2 != 0:
		odd += 1
even = n - odd
if even == n:
	print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().strip().split(' ')))
b = [0] * n
oc = 0
for i in range(n):
	b[i] = a[i] % 2
	oc += b[i]
if oc % 2 == 1:
	print('First')
elif oc == 0:
	print('Second')
else:
	print('First')


n = int(input())
p = [int(x) for x in input().split()]
if sum(p) % 2 != 0:
	print('First')
else:
	for i in range(0, n):
		p[i] = p[i] % 2
	if p.count(1) == 0:
		print('Second')
	else:
		print('First')


input()
v = list(map(int, input().split()))
print('First' if any([x % 2 == 1 for x in v]) else 'Second')


a = int(input())
b = input().split(' ')
x = 0
for i in b:
	if int(i) % 2 == 1:
		x += 1
c = 0
for z in b:
	c += int(z)
if c % 2 == 1:
	print('First')
elif c % 2 == 0 and x != 0:
	print('First')
else:
	print('Second')


n = int(input())
d = input().split()
for i in range(n):
	if int(d[i]) % 2 == 1:
		print('First')
		exit()
print('Second')


n = int(input())
lis = list(map(int, input().split()))
ev = 0
for i in lis:
	if i % 2 == 0:
		ev += 1
if ev == n:
	print('Second')
else:
	print('First')


n = int(input())
tmp = input().split()
a = []
sum = 0
sum1 = 0
for i in range(n):
	a.append(int(tmp[i]))
	sum += a[i]
	if a[i] % 2 == 1:
		sum1 += 1
if sum % 2 == 1 or sum1 > 0:
	print('First')
else:
	print('Second')


t = int(input())
a = list(map(int, input().split()))[:t]
b = []
for i in range(t):
	b.append(a[i] % 2)
if sum(b) > 0:
	print('First')
else:
	print('Second')


n = int(input())
l = [int(y) for y in input().split()]
if sum(l) % 2 == 0:
	c = 0
	for i in range(n):
		if l[i] % 2 == 1:
			c = 1
			print('First')
			break
	if c == 0:
		print('Second')
else:
	print('First')


n = int(input())
mp = map(int, input().split())
print(['Second', 'First'][any([i % 2 for i in mp])])


n = int(input())
a = list(map(int, input().split()))
chet = 0
nechet = 0
if sum(a) % 2 == 1:
	print('First')
else:
	for i in range(n):
		if a[i] % 2 == 1:
			nechet += 1
	if nechet == 0:
		print('Second')
	elif nechet % 2 == 0:
		print('First')
	else:
		print('Second')


from sys import stdin, stdout
n = int(stdin.readline().rstrip())
s = list(map(int, stdin.readline().rstrip().split()))
s = [i % 2 for i in s]
if sum(s) == 0:
	print('Second')
else:
	print('First')


a = int(input())
t = list(map(int, input().split()))
f = []
for k in range(a):
	if t[k] % 2 != 0:
		f.append(1)
	else:
		f.append(0)
if f.count(1) == 0:
	print('Second')
else:
	print('First')


def f(a):
	return a.count(1) % 2
n = int(input())
b = []
for i in list(map(int, input().split())):
	b.append(1 if i % 2 else 0)
if not 1 in b:
	print('Second')
else:
	print('First')


n = int(input())
l = list(map(int, input().split()))

def f():
	for x in l:
		if x % 2 == 1:
			print('First')
			return
	print('Second')
f()


n = int(input())
arr = [int(x) for x in input().split()]
odd = 0
for i in range(n):
	if arr[i] % 2 == 1:
		odd = 1
		break
if odd:
	print('First')
else:
	print('Second')


input()
print('First' if any((int(i) % 2 for i in input().split())) else 'Second')


X = int(input())
B = [int(x) for x in str(input()).split()]
tot = sum(B)
if tot % 2 == 1:
	print('First')
else:
	i = 0
	for x in B:
		if x % 2 == 1:
			i = 1
	if i == 0:
		print('Second')
	else:
		print('First')


n = int(input())
number = list(map(int, input().split()))
if sum(number) % 2 != 0:
	print('First')
else:
	flag = 0
	for i in number:
		if i % 2 != 0:
			flag = 1
			print('First')
			break
	if flag == 0:
		print('Second')


input()
print(('Second', 'First')[any((ord(s[-1]) & 1 for s in input().split()))])


n = int(input())
data = list(map(int, input().split()))
ans = sum(data)
if ans % 2 == 1:
	print('First')
else:
	for i in data:
		if i % 2 == 1:
			print('First')
			break
	else:
		print('Second')


input()
print('First' if any((a % 2 for a in map(int, input().split()))) else 'Second')


n = int(input())
arr = [int(x) for x in input().split()]
print('First' if any((x % 2 == 1 for x in arr)) else 'Second')


from collections import Counter
import string
import math

def array_int():
	return [int(i) for i in input().split()]

def vary(number_of_variables):
	if number_of_variables == 1:
		return int(input())
	if number_of_variables >= 2:
		return map(int, input().split())

def makedict(var):
	return dict(Counter(var))
mod = 1000000007
n = vary(1)
num = array_int()
cout = makedict(num)
count = 0
for i in range(n):
	if num[i] % 2 == 0:
		continue
	else:
		print('First')
		break
else:
	print('Second')


n = int(input())
a = map(int, input().split())
odd_found = False
for i in a:
	if i % 2 == 1:
		odd_found = True
if odd_found == False:
	print('Second')
else:
	print('First')


n = int(input())
print(['Second', 'First'][any([int(x) % 2 != 0 for x in input().split()])])


n = int(input())
a = list(map(int, input().split()))
s = sum(a)
if s & 1:
	print('First')
elif s > 1:
	m = float('+inf')
	for i in a:
		if i & 1:
			m = min(m, i)
	if m != float('+inf'):
		s = m
		print('First')
	else:
		print('Second')
else:
	print('Second')


def f(l):
	return 'First' if sum([i % 2 > 0 for i in l]) > 0 else 'Second'
_ = input()
l = list(map(int, input().split()))
print(f(l))


second = True
n = int(input())
array = list(map(int, input().strip().split()))
for i in array:
	if i % 2 == 1:
		second = False
		break
if second:
	print('Second')
else:
	print('First')


n = int(input())
nums = [int(x) for x in input().split()]
if sum(nums) % 2 != 0:
	print('First')
elif any((i % 2 != 0 for i in nums)):
	print('First')
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
e = []
o = []
for i in l:
	if i % 2 == 0:
		e.append(i)
	else:
		o.append(i)
if len(o) % 2 != 0:
	print('First')
elif len(o) % 2 == 0 and len(o) != 0:
	print('First')
elif len(o) == 0:
	print('Second')


n = int(input())
A = list(map(int, input().split()))
odd_counter = 0
for a in A:
	if a % 2 == 0:
		pass
	else:
		odd_counter += 1
if odd_counter % 2 == 1:
	print('First')
elif odd_counter >= 1:
	print('First')
else:
	print('Second')


b = int(input())
list = [int(x) for x in input().split()]
m = 0
for i in range(b):
	if list[i] % 2 == 0:
		m = m + 1
if m == b:
	print('Second')
else:
	print('First')


input()
print('SFeicrosntd'[sum((int(c) % 2 for c in input().split())) != 0::2])


input()
print('SFeicrosntd'[any((int(c) % 2 for c in input().split()))::2])


n = int(input())
a = list(map(int, input().split(' ')))
for x in a:
	if x & 1:
		print('First')
		break
else:
	print('Second')


n = int(input())
a = list(map(int, input().split(' ')))
prefix = [0] * n
prefix[0] = a[0]
for i in range(1, n):
	prefix[i] = a[i] + prefix[i - 1]
(turn, stop, took) = (0, -1, 0)
while stop != n - 1:
	(mod, oldStop) = ((turn + 1) % 2, stop)
	if mod == 1:
		for j in range(n - 1, stop, -1):
			if (prefix[j] - took) % 2 == 1:
				stop = j
				took = prefix[j]
				break
	else:
		for j in range(stop + 1, n):
			if (prefix[j] - took) % 2 == 0:
				stop = j
				took = prefix[j]
				break
	if stop == oldStop:
		break
	turn += 1
print('First' if turn % 2 == 1 else 'Second')


from typing import List

def solve(n: int, arr: List[int]) -> str:
	evenWins = all((x % 2 == 0 for x in arr))
	return 'Second' if evenWins else 'First'
n = int(input())
arr = [int(x) for x in input().split()]
print(solve(n, arr))


n = int(input())
l = list(map(int, input().split()))
o = len([i for i in l if i % 2 == 1])
if o >= 1:
	print('First')
else:
	print('Second')


import math
import sys
n = int(input())
a = list(map(int, input().split()))
b = sum([1 for i in a if i % 2])
c = n - b
if not b:
	print('Second')
else:
	print('First')


is_odd_exist = False
input()
for num in input().split():
	if int(num) % 2 == 1:
		is_odd_exist = True
		break
if is_odd_exist:
	print('First')
else:
	print('Second')


import sys
N = int(input())
for a in map(int, input().split()):
	if a % 2 == 1:
		print('First')
		sys.exit(0)
print('Second')


input()
print(('Second', 'First')[sum((int(i) % 2 for i in input().split())) > 0])


entrada = int(input())
dado = list(map(int, input().split()))
if sum(dado) % 2 == 1:
	print('First')
elif sum(dado) % 2 == 0:
	for c in range(entrada):
		if dado[c] % 2 == 1 or dado[-1 - c] % 2 == 1:
			resp = 'First'
			break
		else:
			resp = 'Second'
	print(resp)


def main():
	n = int(input())
	a = [int(c) for c in input().split()]
	neven = sum((1 for e in a if e % 2 == 0))
	print('Second' if neven == n else 'First')
main()


import sys
n = int(input())
a = list(map(int, input().split()))
s = 0
for i in a:
	if i % 2 == 1:
		s += 1
if sum(a) % 2 == 1:
	print('First')
elif s > 0:
	print('First')
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
s = sum(l)
if s % 2 == 1:
	print('First')
	exit()
else:
	o = 0
	e = 0
	for i in range(n):
		if l[i] % 2 == 0:
			e += 1
		else:
			o += 1
	if o == 0:
		print('Second')
	else:
		print('First')


n = int(input())
l = [int(i) for i in input().split()]
for i in l:
	if i % 2 == 1:
		print('First')
		exit(0)
print('Second')


def main():
	t = int(input())
	l = list(map(int, input().split(None, t)[:t]))
	o = [x for x in l if x % 2 != 0]
	e = [x for x in l if x % 2 == 0]
	i = len(o)
	j = len(e)
	if i % 2 != 0 or ((i % 2 == 0 and i - 1 != 0) and i != 0):
		print('First')
	else:
		print('Second')
main()


def solve():
	_ = input()
	c = len(list(filter(lambda i: i % 2 == 1, map(int, input().rstrip().split()))))
	if c >= 1:
		print('First')
	else:
		print('Second')
solve()


n = int(input())
k = map(int, input().split())
sum = 0
odd = 0
even = 0
for i in k:
	sum += i
	if i % 2 == 0:
		even += 1
	else:
		odd += 1
if odd == 0:
	print('Second')
else:
	print('First')


input()
for i in input().split():
	if int(i) % 2:
		print('First')
		exit()
print('Second')


n = int(input())
numbers = list(map(int, input().split()))
nepnum = 0
for item in numbers:
	nepnum += item % 2
if nepnum > 0:
	print('First')
else:
	print('Second')


import sys
input = sys.stdin.buffer.readline
input()
v = list(map(int, input().split()))
print('First' if any([x % 2 == 1 for x in v]) else 'Second')


n = int(input())
l = list(map(int, input().split()))
for i in l:
	if i & 1:
		print('First')
		exit()
print('Second')


n = int(input())
l = list(map(int, input().split()))
flag = 0
s = 0
for i in range(n):
	s += l[i]
	if l[i] % 2 != 0:
		flag = 1
if s % 2 != 0:
	print('First')
elif flag == 1:
	print('First')
else:
	print('Second')


n = int(input())
a = [int(x) for x in input().split()]
odd = 0
for x in a:
	if x % 2 != 0:
		print('First')
		break
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
s = sum(l)
if s % 2 == 1:
	print('First')
else:
	f = 0
	for x in l:
		if x % 2 == 1:
			f = 1
			break
	print(['Second', 'First'][f == 1])


n = int(input())
ji = 0
ou = 0
a = input().split()
for i in range(n):
	a[i] = int(a[i])
	if a[i] % 2 == 0:
		ou = ou + 1
	else:
		ji = ji + 1
if ji != 0:
	print('First')
else:
	print('Second')


def sol():
	n = int(input())
	ints = [int(num) for num in input().split(' ')]
	for num in ints:
		if num % 2 == 1:
			print('First')
			return
	print('Second')
	return
sol()


import math as mt
import sys, string
input = sys.stdin.readline
from collections import defaultdict
L = lambda : list(map(int, input().split()))
Ls = lambda : list(input().split())
M = lambda : map(int, input().split())
I = lambda : int(input())
n = I()
l = L()
c = 0
for i in range(n):
	if l[i] % 2:
		c += 1
if sum(l) % 2 == 1:
	print('First')
elif sum(l) % 2 == 0 and c == 0:
	print('Second')
else:
	print('First')


n = int(input())
mass = input().split()
for i in range(n):
	mass[i] = int(mass[i]) % 2
if sum(mass) % 2 == 1:
	print('First')
elif 1 in mass:
	print('First')
else:
	print('Second')


from __future__ import division, print_function
import math
import os
import sys
from fractions import *
from sys import *
from decimal import *
from io import BytesIO, IOBase
from itertools import accumulate, combinations, permutations, combinations_with_replacement, product
from collections import *
import timeit, time
M = 10 ** 9 + 7
import heapq
if sys.version_info[0] < 3:
	from __builtin__ import xrange as range
	from future_builtins import ascii, filter, hex, map, oct, zip
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def inp():
	return sys.stdin.readline().rstrip('\r\n')

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def fsep():
	return map(float, inp().split())

def inpu():
	return int(inp())

def regularbracket(t):
	p = 0
	for i in t:
		if i == '(':
			p += 1
		else:
			p -= 1
		if p < 0:
			return False
	else:
		if p > 0:
			return False
		else:
			return True

def binarySearchcount(arr, n, key):
	left = 0
	right = n - 1
	count = 0
	while left <= right:
		mid = int((right + left) / 2)
		if arr[mid] <= key:
			count = mid + 1
			left = mid + 1
		else:
			right = mid - 1
	return count

def binarySearch(arr, n, key):
	left = 0
	right = n - 1
	while left <= right:
		mid = (right + left) // 2
		if arr[mid] == key:
			return mid
		if arr[mid] <= key:
			left = mid + 1
		else:
			right = mid - 1
	return -1

def ternarysearch(arr, n, key):
	(l, r) = (0, n - 1)
	while l <= r:
		mid = (-l + r) // 3 + l
		mid2 = mid + (-l + r) // 3
		if arr[mid] == key:
			return mid
		if arr[mid2] == key:
			return mid2
		if arr[mid] > key:
			r = mid - 1
		elif arr[mid2] < key:
			l = mid2 + 1
		else:
			l = mid + 1
			r = mid2 - 1
	return -1

def reverse1(string):
	pp = ''
	for i in string[::-1]:
		pp += i
	if pp == string:
		return True
	return False

def reverse2(list1):
	l = []
	for i in list1[::-1]:
		l.append(i)
	if l == list1:
		return True
	return False

def mex(list1):
	p = max(list1) + 1
	for i in range(len(list1)):
		if list1[i] != i:
			p = i
			break
	return p

def sumofdigits(n):
	n = str(n)
	s1 = 0
	for i in n:
		s1 += int(i)
	return s1

def perfect_square(n):
	s = math.sqrt(n)
	if s == int(s):
		return True
	return False

def roman_number(x):
	if x > 15999:
		return
	value = [5000, 4000, 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
	symbol = ['F', 'MF', 'M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
	roman = ''
	i = 0
	while x > 0:
		div = x // value[i]
		x = x % value[i]
		while div:
			roman += symbol[i]
			div -= 1
		i += 1
	return roman

def soretd(s):
	for i in range(1, len(s)):
		if s[i - 1] > s[i]:
			return False
	return True

def countRhombi(h, w):
	ct = 0
	for i in range(2, h + 1, 2):
		for j in range(2, w + 1, 2):
			ct += (h - i + 1) * (w - j + 1)
	return ct

def countrhombi2(h, w):
	return h * h // 4 * (w * w // 4)

def binpow(a, b):
	if b == 0:
		return 1
	else:
		res = binpow(a, b // 2)
	if b % 2 != 0:
		return res * res * a
	else:
		return res * res

def binpowmodulus(a, b, m):
	a %= m
	res = 1
	while b > 0:
		if b & 1:
			res = res * a % m
		a = a * a % m
		b >>= 1
	return res

def coprime_to_n(n):
	result = n
	i = 2
	while i * i <= n:
		if n % i == 0:
			while n % i == 0:
				n //= i
			result -= result // i
		i += 1
	if n > 1:
		result -= result // n
	return result

def luckynumwithequalnumberoffourandseven(x, n, a):
	if x >= n and str(x).count('4') == str(x).count('7'):
		a.append(x)
	elif x < 1000000000000.0:
		luckynumwithequalnumberoffourandseven(x * 10 + 4, n, a)
		luckynumwithequalnumberoffourandseven(x * 10 + 7, n, a)
	return a

def luckynum(x, l, r, a):
	if x >= l and x <= r:
		a.append(x)
	if x > r:
		a.append(x)
		return a
	if x < 10000000000.0:
		luckynum(x * 10 + 4, l, r, a)
		luckynum(x * 10 + 7, l, r, a)
	return a

def luckynuber(x, n, a):
	p = set(str(x))
	if len(p) <= 2:
		a.append(x)
	if x < n:
		luckynuber(x + 1, n, a)
	return a

def interact(type, x):
	if type == 'r':
		inp = input()
		return inp.strip()
	else:
		print(x, flush=True)

def findTrailingZeros(n):
	count = 0
	while n >= 5:
		n //= 5
		count += n
	return count

def mergeSort(arr):
	if len(arr) > 1:
		mid = len(arr) // 2
		L = arr[:mid]
		R = arr[mid:]
		mergeSort(L)
		mergeSort(R)
		i = j = k = 0
		while i < len(L) and j < len(R):
			if L[i] < R[j]:
				arr[k] = L[i]
				i += 1
			else:
				arr[k] = R[j]
				j += 1
			k += 1
		while i < len(L):
			arr[k] = L[i]
			i += 1
			k += 1
		while j < len(R):
			arr[k] = R[j]
			j += 1
			k += 1
res = set()

def solven(p, l, a, b, n):
	if p > n or l > 10:
		return
	if p > 0:
		res.add(p)
	solven(p * 10 + a, l + 1, a, b, n)
	solven(p * 10 + b, l + 1, a, b, n)

def subsetsUtil(A, subset, index, d):
	print(*subset)
	s = sum(subset)
	d.append(s)
	for i in range(index, len(A)):
		subset.append(A[i])
		subsetsUtil(A, subset, i + 1, d)
		subset.pop(-1)
	return d

def subsetSums(arr, l, r, d, sum=0):
	if l > r:
		d.append(sum)
		return
	subsetSums(arr, l + 1, r, d, sum + arr[l])
	subsetSums(arr, l + 1, r, d, sum)
	return d

def print_factors(x):
	factors = []
	for i in range(1, x + 1):
		if x % i == 0:
			factors.append(i)
	return factors

def calc(X, d, ans, D):
	if len(X) == 0:
		return
	i = X.index(max(X))
	ans[D[max(X)]] = d
	Y = X[:i]
	Z = X[i + 1:]
	calc(Y, d + 1, ans, D)
	calc(Z, d + 1, ans, D)

def factorization(n, l):
	c = n
	if prime(n) == True:
		l.append(n)
		return l
	for i in range(2, c):
		if n == 1:
			break
		while n % i == 0:
			l.append(i)
			n = n // i
	return l

def good(b):
	l = []
	i = 0
	while len(b) != 0:
		if b[i] < b[len(b) - 1 - i]:
			l.append(b[i])
			b.remove(b[i])
		else:
			l.append(b[len(b) - 1 - i])
			b.remove(b[len(b) - 1 - i])
	if l == sorted(l):
		return True
	return False

def generate(st, s):
	if len(s) == 0:
		return
	if s not in st:
		st.add(s)
		for i in range(len(s)):
			t = list(s).copy()
			t.remove(s[i])
			t = ''.join(t)
			generate(st, t)
	return

def largestincreasingsubsequence(A):
	l = [1] * len(A)
	sub = []
	for i in range(1, len(l)):
		for k in range(i):
			if A[k] < A[i]:
				sub.append(l[k])
		l[i] = 1 + max(sub, default=0)
	return max(l, default=0)

def findOR(nums, N):
	prefix_sum = 0
	result = 0
	for i in range(N):
		result |= nums[i]
		prefix_sum += nums[i]
		result |= prefix_sum
	return result

def OR(a, n):
	ans = a[0]
	for i in range(1, n):
		ans |= a[i]
	return ans

def toString(List):
	return ''.join(List)

def permute(a, l, r, p):
	if l == r:
		p.append(toString(a))
	else:
		for i in range(l, r + 1):
			(a[l], a[i]) = (a[i], a[l])
			permute(a, l + 1, r, p)
			(a[l], a[i]) = (a[i], a[l])

def squareRoot(number, precision):
	start = 0
	(end, ans) = (number, 1)
	while start <= end:
		mid = int((start + end) / 2)
		if mid * mid == number:
			ans = mid
			break
		if mid * mid < number:
			start = mid + 1
		else:
			end = mid - 1
	increment = 0.1
	for i in range(0, precision):
		while ans * ans <= number:
			ans += increment
		ans = ans - increment
		increment = increment / 10
	return ans

def countRectangles(l, w):
	squareSide = math.gcd(l, w)
	return int(l * w / (squareSide * squareSide))

def count_same_digit(L, R):
	tmp = 0
	ans = 0
	n = int(math.log10(R) + 1)
	for i in range(0, n):
		tmp = tmp * 10 + 1
		for j in range(1, 10):
			if L <= tmp * j and tmp * j <= R:
				ans += 1
	return ans

def findCrossOver(arr, low, high, x):
	if arr[high] <= x:
		return high
	if arr[low] > x:
		return low
	mid = (low + high) // 2
	if arr[mid] <= x and arr[mid + 1] > x:
		return mid
	if arr[mid] < x:
		return findCrossOver(arr, mid + 1, high, x)
	return findCrossOver(arr, low, mid - 1, x)

def Kclosest(arr, x, k, n, ans):
	l = findCrossOver(arr, 0, n - 1, x)
	r = l + 1
	count = 0
	if arr[l] == x:
		l -= 1
	while l >= 0 and r < n and (count < k):
		if x - arr[l] < arr[r] - x:
			ans.append(arr[l])
			l -= 1
		else:
			ans.append(arr[r])
			r += 1
		count += 1
	while count < k and l >= 0:
		ans.append(arr[l])
		l -= 1
		count += 1
	while count < k and r < n:
		ans.append(arr[r])
		r += 1
		count += 1
	return ans

def prime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	for i in range(5, int(math.sqrt(n)) + 1, 2):
		if n % i == 0:
			return False
	return True

def calcSum(arr, n, k):
	l = []
	sum = 0
	for i in range(k):
		sum += arr[i]
	l.append(sum)
	for i in range(k, n):
		sum = sum - arr[i - k] + arr[i]
		l.append(sum)
	return l

def dfs(root, nodeVal, nodeConnection, visited):
	leftVal = nodeVal[root][0]
	rightVal = nodeVal[root][1]
	solution = []
	if nodeConnection[root]:
		visited.add(root)
		for i in nodeConnection[root]:
			if i not in visited:
				solution.append(dfs(i, nodeVal, nodeConnection, visited))
		leftMax = 0
		rightMax = 0
		for i in solution:
			(l, r) = i
			leftMax += max(abs(leftVal - l[0]) + l[1], abs(leftVal - r[0]) + r[1])
			rightMax += max(abs(rightVal - l[0]) + l[1], abs(rightVal - r[0]) + r[1])
		return ((leftVal, leftMax), (rightVal, rightMax))
	else:
		return ((leftVal, 0), (rightVal, 0))

def luckynumber(x, n, a):
	if x > 0:
		a.append(x)
	if x > 10 ** 9:
		return a
	elif x < 1000000000000.0:
		luckynumber(x * 10 + 4, n, a)
		luckynumber(x * 10 + 7, n, a)

def lcm(a, b):
	return a * b // math.gcd(a, b)

def query(l, r):
	if l >= r:
		return -1
	print('?', l + 1, r + 1)
	sys.stdout.flush()
	return int(input()) - 1

def answer(p):
	print('!', p + 1)
	sys.stdout.flush()
	exit()

def main():
	n = inpu()
	arr = lis()
	fag = 0
	for i in arr:
		if i % 2 != 0:
			fag = 1
			break
	if fag == 1:
		print('First')
	else:
		print('Second')
main()


n = int(input().strip())
a = [int(i) % 2 for i in input().strip().split(' ')]
if sum(a) % 2 == 1:
	print('First')
elif sum(a) == 0:
	print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
first = False
for i in a:
	if i % 2 == 1:
		first = True
		break
if first:
	print('First')
else:
	print('Second')


n = int(input())
a = list(map(int, input().split()))
flag = 0
for ch in a:
	if ch % 2 == 1:
		flag = 1
if flag:
	print('First')
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
count = True
for i in l:
	if i % 2 == 1:
		count = False
if count:
	print('Second')
else:
	print('First')


n = int(input())
a = [int(x) % 2 for x in input().split()]
if sum(a) % 2:
	print('First')
elif 1 not in a:
	print('Second')
else:
	print('First')


n = int(input())
lst = [int(i) for i in input().split()]
result = False
if sum(lst) % 2:
	result = True
else:
	for i in lst:
		if i % 2:
			result = True
			break
print('First') if result else print('Second')


input()
print('First' if 1 in [int(x) % 2 for x in input().strip().split()] else 'Second')


n = int(input())
arr = list(map(int, input().split()))
x = sum(arr)
wins = 1
for i in arr:
	if i % 2:
		wins = 0
		break
if not wins or x % 2:
	print('First')
else:
	print('Second')


import sys, os
n = int(input())
data = list(map(int, input().split()))
for i in range(n):
	if data[i] % 2 == 1:
		print('First')
		exit(0)
		sys.exit
		os.abort()
print('Second')


n = int(input())
a = [int(x) % 2 for x in input().split()]
if 1 in a:
	print('First')
else:
	print('Second')


num = int(input())
num_list = [int(x) for x in input().split()]
ans = 0
flag = False
for x in num_list:
	if x % 2 is 1:
		ans += 1
		flag = not flag
if flag is False and ans is 0:
	print('Second')
else:
	print('First')


def godsend(r, p):
	f = 0
	for i in r:
		if i % 2 != 0:
			f = 1
	print('First') if p % 2 != 0 or f == 1 else print('Second')
n = int(input())
r = list(map(int, input().split(' ')))
p = sum(r)
godsend(r, p)


n = int(input())
a = list(map(int, input().split()))
(o, e) = (0, 0)
for i in range(n):
	if a[i] % 2 == 0:
		e += 1
	else:
		o += 1
if sum(a) % 2 == 0 and o == 0:
	print('Second')
else:
	print('First')


n = int(input())
arr = list(map(int, input().split()))
m = [None] * len(arr)
for i in range(len(arr)):
	if arr[i] % 2 == 0:
		m[i] = 0
	else:
		m[i] = 1
if not 1 in m:
	print('Second')
else:
	print('First')


input()
print('First' if any((True for i in list(map(int, input().split())) if i % 2 == 1)) else 'Second')


import io, os
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
kk = lambda : map(int, input().split())
n = int(input())
c = 0
for v in kk():
	if v & 1:
		c += 1
print('First' if c != 0 else 'Second')


n = int(input())
arr = list(map(int, input().strip().split(' ')))
ans = 0
for i in arr:
	if i % 2 == 1:
		ans = 1
		break
if ans == 0:
	print('Second')
else:
	print('First')


def main():
	(n, l) = (int(input()), [ord(s[-1]) & 1 for s in input().split()])
	s = sum(l) & 1
	print(('Second', 'First')[s or (not s and any(l))])
main()


length = int(input())
nums = [int(i) for i in input().split()]
if sum(nums) % 2:
	print('First')
else:
	for i in nums:
		if i % 2:
			print('First')
			exit(0)
	print('Second')


n = int(input())
f = 1
c = 0
arr = [int(i) for i in input().split()]
if sum(arr) % 2 != 0:
	print('First')
	exit()
else:
	for i in arr:
		if i % 2 == 0:
			c += 1
	if c == len(arr):
		print('Second')
	else:
		print('First')


input()
l = list(map(int, input().split()))
print('First' if sum(l) % 2 or any((i & 1 for i in l)) else 'Second')


import sys
input = sys.stdin.buffer.readline
n = int(input())
arr = list(map(int, input().split()))
odd = 0
for x in arr:
	if x % 2 == 0:
		continue
	else:
		odd = 1
		break
if sum(arr) % 2 == 1:
	print('First')
elif odd > 0:
	print('First')
else:
	print('Second')


need = False
n = int(input())
arr = list(map(int, input().split()))
for elem in arr:
	if elem % 2 != 0:
		need = True
if sum(arr) % 2 != 0:
	print('First')
	return
if need:
	print('First')
else:
	print('Second')


n = int(input())
a = [int(x) for x in input().split()]
done = False
for x in a:
	if x % 2 == 1:
		print('First')
		done = True
		break
if not done:
	print('Second')


n = int(input())
arr = list(map(int, input().split()))
print(['Second', 'First'][any([i % 2 for i in arr])])


n = int(input())
a = [int(i) for i in input().split()]
for i in range(n):
	if a[i] % 2 != 0:
		print('First')
		exit()
	elif i == n - 1:
		print('Second')


length = int(input())
listofNum = input()
listofNum = list(map(int, listofNum.split()))
Firstflag = False
sum = 0
for x in listofNum:
	sum += x
if sum % 2 == 1:
	Firstflag = True
else:
	for x in listofNum:
		if x % 2 == 1:
			Firstflag = True
if Firstflag:
	print('First')
else:
	print('Second')


n = int(input())
l = list(map(int, input().split()))
s = []
for i in range(len(l)):
	if l[i] % 2 == 1:
		s.append(i)
		l[i] = 1
	else:
		l[i] = 0
x = sum(l)
if len(s) == 0:
	print('Second')
	exit()
if len(s) == len(l):
	print('First')
	exit()
print('First')


n = int(input())
s = list([int(x) for x in input().split()])
co = []
ce = []
su = 0
for i in s:
	su += i
	if i % 2 == 0:
		ce.append(i)
	else:
		co.append(i)
bwin = True
cou = 1
for i in range(n):
	if not co:
		break
	if cou % 2 != 0:
		if len(co) >= 1:
			ce = []
			co = [co[0]]
			bwin = False
		else:
			break
	elif len(co) >= 2:
		co.pop(len(co) - 1)
		co.pop(len(co) - 1)
		bwin = True
	else:
		break
	cou += 1
if bwin:
	print('Second')
else:
	print('First')


import os
import sys
from io import BytesIO, IOBase
import math
import itertools
import bisect
import heapq

def main():
	pass
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')

def binary(n):
	return bin(n).replace('0b', '')

def decimal(s):
	return int(s, 2)

def pow2(n):
	p = 0
	while n > 1:
		n //= 2
		p += 1
	return p

def primeFactors(n):
	l = []
	while n % 2 == 0:
		l.append(2)
		n = n / 2
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			l.append(i)
			n = n / i
	if n > 2:
		l.append(int(n))
	return l

def isPrime(n):
	if n == 1:
		return False
	else:
		root = int(n ** 0.5)
		root += 1
		for i in range(2, root):
			if n % i == 0:
				return False
		return True

def maxPrimeFactors(n):
	maxPrime = -1
	while n % 2 == 0:
		maxPrime = 2
		n >>= 1
	for i in range(3, int(math.sqrt(n)) + 1, 2):
		while n % i == 0:
			maxPrime = i
			n = n / i
	if n > 2:
		maxPrime = n
	return int(maxPrime)

def countcon(s, i):
	c = 0
	ch = s[i]
	for i in range(i, len(s)):
		if s[i] == ch:
			c += 1
		else:
			break
	return c

def lis(arr):
	n = len(arr)
	lis = [1] * n
	for i in range(1, n):
		for j in range(0, i):
			if arr[i] > arr[j] and lis[i] < lis[j] + 1:
				lis[i] = lis[j] + 1
	maximum = 0
	for i in range(n):
		maximum = max(maximum, lis[i])
	return maximum

def isSubSequence(str1, str2):
	m = len(str1)
	n = len(str2)
	j = 0
	i = 0
	while j < m and i < n:
		if str1[j] == str2[i]:
			j = j + 1
		i = i + 1
	return j == m

def maxfac(n):
	root = int(n ** 0.5)
	for i in range(2, root + 1):
		if n % i == 0:
			return n // i
	return n

def p2(n):
	c = 0
	while n % 2 == 0:
		n //= 2
		c += 1
	return c

def seive(n):
	primes = [True] * (n + 1)
	primes[1] = primes[0] = False
	for i in range(2, n + 1):
		if primes[i]:
			for j in range(i + i, n + 1, i):
				primes[j] = False
	p = []
	for i in range(0, n + 1):
		if primes[i]:
			p.append(i)
	return p

def ncr(n, r, p):
	num = den = 1
	for i in range(r):
		num = num * (n - i) % p
		den = den * (i + 1) % p
	return num * pow(den, p - 2, p) % p

def denofactinverse(n, m):
	fac = 1
	for i in range(1, n + 1):
		fac = fac * i % m
	return pow(fac, m - 2, m)

def numofact(n, m):
	fac = 1
	for i in range(1, n + 1):
		fac = fac * i % m
	return fac
n = int(input())
l = list(map(int, input().split()))
co = 0
for i in l:
	co += i % 2
if co >= 1:
	print('First')
else:
	print('Second')


from collections import Counter

def AAA(a):
	return int(a) % 2
n = int(input())
a = list(map(AAA, input().split()))
c = Counter(a)
if c[0] == n:
	print('Second')
else:
	print('First')


n = int(input().split()[0])
a = list(map(int, input().rstrip().split()))
ans = 'Second'
for v in a:
	if v % 2 == 1:
		ans = 'First'
print(ans)


n = int(input())
a = [int(i) % 2 for i in input().split()]
print('First' if a.count(1) else 'Second')


n = int(input())
arr = list(map(int, input().split()))
for i in range(len(arr)):
	arr[i] = arr[i] % 2
if arr.count(0) == n:
	print('Second')
else:
	print('First')


n = int(input())
a = list(map(int, input().split()))
pos = 0
total = sum(a)
if total % 2 == 1:
	print('First')
else:
	who = 1
	while a:
		p = -1
		while p != -n:
			if who == 1:
				if a[p] % 2 == 1:
					a = a[p:]
					who = 2
					n = len(a)
					break
				p -= 1
			else:
				if a[p] % 2 == 0:
					a = a[p:]
					who = 1
					n = len(a)
					break
				p -= 1
		if a[p] % 2 == 1:
			print('First')
			break
		else:
			print('Second')
			break


from sys import exit
need = False
n = int(input())
arr = list(map(int, input().split()))
for elem in arr:
	if elem % 2 != 0:
		need = True
if sum(arr) % 2 != 0:
	print('First')
	exit()
if need:
	print('First')
else:
	print('Second')


t = int(input())
a = list(map(int, input().strip().split()))
f = 1
for i in a:
	if i % 2 != 0:
		print('First')
		f = 0
		break
if f:
	print('Second')


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


n = int(input())
numbers = list(map(int, input().split()))
s = sum(numbers)
odd = sum((n % 2 != 0 for n in numbers))
if s % 2 != 0:
	print('First')
elif odd == 0:
	print('Second')
else:
	print('First')