Two players play a simple game. Each player is provided with a box with balls. First player's box contains exactly n_1 balls and second player's box contains exactly n_2 balls. In one move first player can take from 1 to k_1 balls from his box and throw them away. Similarly, the second player can take from 1 to k_2 balls from his box in his move. Players alternate turns and the first player starts the game. The one who can't make a move loses. Your task is to determine who wins if both players play optimally.


-----Input-----

The first line contains four integers n_1, n_2, k_1, k_2. All numbers in the input are from 1 to 50.

This problem doesn't have subproblems. You will get 3 points for the correct submission.


-----Output-----

Output "First" if the first player wins and "Second" otherwise.


-----Examples-----
Input
2 2 1 2

Output
Second

Input
2 1 1 1

Output
First



-----Note-----

Consider the first sample test. Each player has a box with 2 balls. The first player draws a single ball from his box in one move and the second player can either take 1 or 2 balls from his box in one move. No matter how the first player acts, the second player can always win if he plays wisely.

Difficulty: EASY
Tags: Mathematics

Constructive algorithms

Starter code:

Solutions:
(n1, n2, k1, k2) = map(int, input().split())
if n1 > n2:
	print('First')
elif n1 <= n2:
	print('Second')


a = input()
(n1, n2, k1, k2) = map(int, a.split())
print('First' if n1 > n2 else 'Second')


(n1, n2, k1, k2) = (int(x) for x in input().split())
if n1 > n2:
	print('First')
else:
	print('Second')


def solve():
	(n1, n2, k1, k2) = [int(s) for s in input().split()]
	if n1 <= n2:
		print('Second')
	else:
		print('First')
solve()


(n, m, a, p) = map(int, input().split())
if n <= m:
	print('Second')
else:
	print('First')


nk = list(map(int, input().split()))
if nk[0] <= nk[1]:
	print('Second')
else:
	print('First')


import sys
input = sys.stdin.readline
ins = lambda : input().rstrip()
ini = lambda : int(input().rstrip())
inm = lambda : map(int, input().rstrip().split())
inl = lambda : list(map(int, input().split()))
out = lambda x, s='\n': print(s.join(map(str, x)))
(n1, n2, k1, k2) = inm()
print('First' if n1 > n2 else 'Second')


import math
import os
import sys
import re
import string
import itertools
import functools
import operator
(a, b, c, d) = map(int, input().split())
print('First' if a > b else 'Second')


__ = list(map(int, input().split()[:2]))
print('First' if __[0] > __[1] else 'Second')


a = input().split()
n1 = int(a[0])
n2 = int(a[1])
if n1 > n2:
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
while True:
	if not n1:
		print('Second')
		raise SystemExit
	n1 -= 1
	if not n2:
		print('First')
		raise SystemExit
	n2 -= 1


import sys
import math
import bisect

def solve(n1, n2):
	return n1 > n2

def main():
	(n1, n2, k1, k2) = map(int, input().split())
	if solve(n1, n2):
		print('First')
	else:
		print('Second')
main()


temp = input()
(n1, n2, k1, k2) = temp.split(' ')
(n1, n2, k1, k2) = (int(n1), int(n2), int(k1), int(k2))
if n1 > n2:
	print('First')
else:
	print('Second')


(a, b, c, d) = list(map(int, input().split()))
if a == b:
	print('Second')
elif max(a, b) == a:
	print('First')
else:
	print('Second')


(N, n, K, k) = map(int, input().split())
if N > n:
	print('First')
else:
	print('Second')


inp = input()
(p1, p2, d1, d2) = inp.split(' ')
if int(p1) <= int(p2):
	print('Second')
else:
	print('First')


a = list(map(int, input().split()))
(win, turn) = (0, 0)
while a[0] > 0 and a[1] > 0:
	if turn == 0:
		a[0] -= 1
	else:
		a[1] -= 1
	turn = (turn + 1) % 2
if a[0] == 0:
	win = 'Second'
else:
	win = 'First'
print(win)


a = [int(i) for i in input().split()]
if a[0] > a[1]:
	print('First')
else:
	print('Second')


(n, m) = map(int, input().split()[:2])
print('SFeicrosntd'[m < n::2])


(n1, n2, k1, k2) = list(map(int, input().split()))
n1 -= 1
if n1 >= n2:
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
for i in range(10000000):
	if i % 2 == 0:
		if n1 == 0:
			print('Second')
			break
		else:
			n1 -= 1
	elif n2 == 0:
		print('First')
		break
	else:
		n2 -= 1


a = input('').split(' ')
if int(a[0]) > int(a[1]):
	print('First')
else:
	print('Second')


(m, n, k, l) = map(int, input().split())
if m <= n:
	print('Second')
else:
	print('First')


def main():
	(n1, n2, k1, k2) = map(int, input().split())
	if n1 > n2:
		print('First')
	else:
		print('Second')
main()


(n1, n2, k1, k2) = map(int, input().split())
dp = [[[-1] * 51] * 51] * 2

def win(n1, n2, p=0):
	if dp[p][n1][n2] != -1:
		return dp[p][n1][n2]
	if p:
		for i in range(1, k2 + 1):
			if n2 - i > -1 and win(n1, n2 - i, 1 - p) == False:
				dp[p][n1][n2] = True
				return True
	else:
		for i in range(1, k1 + 1):
			if n1 - i > -1 and win(n1 - i, n2, 1 - p) == False:
				dp[p][n1][n2] = True
				return True
	dp[p][n1][n2] = False
	return False
print('First' if win(n1, n2) else 'Second')


(a, b, c, d) = [int(x) for x in input().split()]
if a > b:
	print('First')
elif a <= b:
	print('Second')


(a, b, _, _) = list((int(x) for x in input().split()))
print('First') if a > b else print('Second')


ls = [int(i) for i in input().split()]
if ls[0] == ls[1] or ls[0] < ls[1]:
	print('Second')
else:
	print('First')


import math
(n1, n2, k1, k2) = map(int, input().split())
a1 = math.ceil(n1 / k1)
a2 = math.ceil(n2 / k2)
if n1 > n2:
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split(' '))
while n1 > 0 and n2 > 0:
	n1 = n1 - 1
	if n1 == 0:
		print('Second')
		break
	n2 = n2 - 1
	if n2 == 0:
		print('First')
		break


import sys
f = sys.stdin
(n1, n2, k1, k2) = map(int, f.readline().strip().split())
if n1 <= n2:
	print('Second')
else:
	print('First')


string = input()
numbers = string.split(' ')
if int(numbers[0]) > int(numbers[1]):
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = [int(i) for i in input().split()]
if n1 > n2:
	print('First')
elif n1 < n2:
	print('Second')
else:
	print('Second')


import sys

def main():
	(n1, n2, k1, k2) = map(int, sys.stdin.readline().split())
	while True:
		n1 -= 1
		if n1 == 0:
			sys.stdout.write('Second')
			break
		n2 -= 1
		if n2 == 0:
			sys.stdout.write('First')
			break
main()


(a, b, *_) = map(int, input().split())
print('SFeicrosntd'[a > b::2])


import math
(n1, n2, k1, k2) = map(int, input().split())
if n1 <= n2:
	print('Second')
else:
	print('First')


(n, m, k1, k2) = [int(t) for t in input().split()]
if n > m:
	print('First')
else:
	print('Second')


d = [int(x) for x in input().split()]
if d[0] > d[1]:
	print('First')
else:
	print('Second')


w = list(input().split())
w2 = list(map(int, w))
while True:
	if w2[0] == 0 and w2[1] >= 0:
		print('Second')
		break
	if w2[0] >= 0 and w2[1] == 0:
		print('First')
		break
	w2[0] += -1
	w2[1] -= 1


(a, b, c, d) = [int(i) for i in input().split()]
if a > b:
	print('First')
else:
	print('Second')


values = input()
(n1, n2, k1, k2) = values.split()
n1 = int(n1)
n2 = int(n2)
k1 = int(k1)
k2 = int(k2)
if n1 > n2:
	print('First')
elif n1 < n2:
	print('Second')
else:
	print('Second')


l = input().split()
q = 0
if int(l[0]) <= int(l[1]):
	print('Second')
else:
	print('First')


(n0, n1, k0, k1) = list(map(int, input().split()))
print('First' if n0 > n1 else 'Second')


a = list(map(int, input().split()))
if a[0] == a[1]:
	print('Second')
elif a[0] > a[1]:
	print('First')
elif a[0] < a[1]:
	print('Second')


(a, b, *_) = map(int, input().split())
print(['Second', 'First'][b < a])


s = input()
s = s.split(' ')
n1 = int(s[0])
n2 = int(s[1])
k1 = int(s[2])
k2 = int(s[3])
n = max(n1, n2)
fim = False
win = ''
while not fim:
	if n1 == 0:
		fim = True
		win = 'Second'
	else:
		n1 -= 1
		if n2 == 0:
			fim = True
			win = 'First'
		else:
			n2 -= 1
print(win)


def main():
	string = input()
	string = string.split(' ')
	n1 = int(string[0])
	if n1 < 0 or n1 > 50:
		return 0
	n2 = int(string[1])
	if n2 < 0 or n2 > 50:
		return 0
	k1 = int(string[2])
	if k1 < 0 or k1 > 50:
		return 0
	k2 = int(string[3])
	if k2 < 0 or k2 > 50:
		return 0
	if n1 > n2:
		print('First')
		return 0
	print('Second')
	return 0
main()


import sys
import math
(n1, n2, k1, k2) = [int(x) for x in sys.stdin.readline().split()]
if n1 > n2:
	print('First')
else:
	print('Second')


(x, y, b, d) = map(int, input().split())
if x == y:
	print('Second')
elif x > y:
	print('First')
else:
	x < y
	print('Second')


(a, b, s, m) = map(int, input().split())
if a > b:
	print('First')
else:
	print('Second')


(n, m, k1, k2) = map(int, input().split())
if n > m:
	print('First')
else:
	print('Second')


(a, b, k1, k2) = map(int, input().split())
while 1:
	a = a - 1
	b = b - 1
	if a == 0:
		print('Second')
		break
	elif b == 0:
		print('First')
		break


(n1, n2, l1, l2) = map(int, input().split())
if n1 > n2:
	print('First')
else:
	print('Second')


(m, n, x, y) = map(int, input().split())
if m <= n:
	print('Second')
else:
	print('First')


(n1, n2, k1, k2) = [int(i) for i in input().split()]
while True:
	if n1 == 0:
		print('Second')
		break
	if n2 == 0:
		print('First')
		break
	n1 -= 1
	n2 -= 1


def pick_winner(n1, n2, k1, k2):
	if n1 > n2:
		return 'First'
	return 'Second'
args = [int(i) for i in input().split(' ')[:4]]
print(pick_winner(*args))


a = input().split()
print(['Second', 'First'][int(a[0]) > int(a[1])])


import sys

def Main():
	(n1, n2, k1, k2) = [int(x) for x in input().split()]
	if n1 > n2:
		print('First')
	else:
		print('Second')
Main()


def ii():
	return int(input())

def fi():
	return float(input())

def si():
	return input()

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

def li():
	return list(mi())
import math
(n1, n2, k1, k2) = mi()
if n1 > n2:
	print('First')
else:
	print('Second')


(a, b, _, _) = [int(i) for i in input().split()]
if a > b:
	print('First')
else:
	print('Second')


a = input().strip().split()
for i in range(len(a)):
	a[i] = int(a[i])
if a[0] <= a[1]:
	print('Second')
else:
	print('First')


(n, m, a, b) = map(int, input().split())
if n == m:
	print('Second')
elif n > m:
	print('First')
else:
	print('Second')


(n1, n2, _, _) = map(int, input().split())
if n1 > n2:
	print('First')
else:
	print('Second')


def transform(x):
	return int(x)
(n1, n2, k1, k2) = tuple(map(transform, input().split()))
if n2 >= n1:
	print('Second')
else:
	print('First')


(x, y, a, b) = map(int, input().split())
if x > y:
	print('First')
else:
	print('Second')


(a, b, *c) = map(int, input().split())
print('SFeicrosntd'[a > b::2])


line = input()
n1 = int(line.split(' ')[0])
n2 = int(line.split(' ')[1])
k1 = int(line.split(' ')[2])
k2 = int(line.split(' ')[3])
if n1 == n2:
	print('Second')
elif n1 < n2:
	print('Second')
else:
	print('First')


(q, w, e, r) = map(int, input().split())
print('First' if q > w else 'Second')


(a1, a2, k1, k2) = map(int, input().split())
if a1 <= a2:
	print('Second')
else:
	print('First')


import math
from fractions import Fraction as frac
MOD = 1000000000.0 + 7

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

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

def no():
	print('NO')
	return

def yes():
	print('YES')
	return

def solve(case_no):
	(a, b, c, d) = map(int, input().split())
	print('Second' if a <= b else 'First')
t = 1
for i in range(1, t + 1):
	solve(i)


(a, b, c, d) = map(int, input().split())
print(['Second', 'First'][a > b])


def solve(n1, n2, k1, k2):
	if n1 > n2:
		return 'First'
	else:
		return 'Second'
(n1, n2, k1, k2) = map(int, input().split(' '))
print(solve(n1, n2, k1, k2))


INF = 10 ** 10
MAX = 10 ** 4 + 32
factors = [[1] for _ in range(MAX)]
for i in range(2, MAX):
	for j in range(i, MAX, i):
		factors[j].append(i)

def main():
	print = out.append
	(n1, n2, k1, k2) = get_list()
	if n1 > n2:
		print('First')
	else:
		print('Second')

class SegTreeSum:

	def __init__(self, size):
		self.n = 1 << size.bit_length()
		self.li = [0] * (self.n << 1)

	def modify(self, index, ele):
		index += self.n
		self.li[index] = ele
		while index > 1:
			self.li[index >> 1] = self.li[index] + self.li[index ^ 1]
			index >>= 1

	def get(self, index):
		return self.li[self.n + index]

	def query(self, l, r):
		res = 0
		(l, r) = (l + self.n, r + self.n)
		while l <= r:
			if l & 1 == 1:
				res += self.li[l]
			if r & 1 != 1:
				res += self.li[r]
			l = l + 1 >> 1
			r = r - 1 >> 1
		return res
import sys
from collections import defaultdict, Counter, deque
input = iter(sys.stdin.buffer.read().decode().splitlines()).__next__
out = []
get_int = lambda : int(input())
get_list = lambda : list(map(int, input().split()))
main()
print(*out, sep='\n')


(a, b, c, d) = input().split()
a = int(a)
b = int(b)
c = int(c)
d = int(d)
if a > b:
	print('First')
elif a < b:
	print('Second')
elif a == b:
	print('Second')


def solve(a, b, c, d):
	if a > b:
		return 'First'
	return 'Second'
(a, b, c, d) = map(int, input().split())
print(solve(a, b, c, d))


(n, m, a, b) = map(int, input().split())
print(['First', 'Second'][n <= m])


x = input().split()
a = int(x[0])
b = int(x[1])
c = int(x[2])
d = int(x[3])
i = 0
while i == 0:
	if a == 0:
		y = 'Second'
		break
	a -= 1
	if b == 0:
		y = 'First'
		break
	b -= 1
print(y)


(a, b, c, d) = map(int, input().split())
print('First' if a > b else 'Second')


line = input().split()
m = []
for i in line:
	m.append(int(i))
n1 = m[0]
n2 = m[1]
k1 = m[2]
k2 = m[3]
n = 0
for n in range(0, 100):
	n1 = n1 - 1
	if n1 <= 0:
		print('Second')
		break
	n2 = n2 - 1
	if n2 <= 0:
		print('First')
		break


import math
import collections
import bisect
import heapq
import time
import random
import itertools
import sys
(n1, n2, k1, k2) = map(int, input().split())
if n1 <= n2:
	print('Second')
else:
	print('First')


(n1, n2, k1, k2) = map(int, input().split())
while n1 > 0 or n2 > 0:
	n1 -= 1
	n2 -= 1
	if n1 <= 0:
		print('Second')
		exit()
	if n2 <= 0:
		print('First')
		exit()


n = str(input()).split()
n1 = int(n[0])
n2 = int(n[1])
if n1 <= n2:
	print('Second')
elif n1 > n2:
	print('First')


def main() -> object:
	(n1, n2, k1, k2) = [int(i) for i in input().split()]
	if n1 > n2:
		return 'First'
	else:
		return 'Second'
print(main())


def game():
	array = input().split()
	array = [int(i) for i in array]
	while array[0] > 0 and array[1] > 0:
		array[0] -= 1
		if array[0] == 0:
			print('Second')
			return
		array[1] -= 1
		if array[1] == 0:
			print('First')
			return
game()


(a, b, n, k) = map(int, input().split())
if a <= b:
	print('Second')
else:
	print('First')


(n, m, k1, k2) = map(int, input().split())
a = min(n, m)
for i in range(a + 2):
	n -= 1
	m -= 1
	if n == 0:
		print('Second')
		break
	if m == 0:
		print('First')
		break


from functools import lru_cache

@lru_cache(maxsize=None)
def grandi(n1, n2, k1, k2):
	assert n1 >= 0 and n2 >= 0
	if n1 == 0:
		return 0
	s = set()
	for i in range(1, min(n1, k1 + 1)):
		s.add(grandi(n2, n1 - i, k2, k1))
	i = 0
	while i in s:
		i += 1
	return i
(n1, n2, k1, k2) = map(int, input().split())
if grandi(n1, n2, k1, k2) == 0:
	print('Second')
else:
	print('First')


a = input().split()
n = int(a[0])
m = int(a[1])
if m >= n:
	print('Second')
else:
	print('First')


t = list(map(int, input().split()))
n1 = t[0]
n2 = t[1]
k1 = t[2]
k2 = t[3]
if n1 > n2:
	print('First')
else:
	print('Second')


__author__ = 'artyom'
n = list(map(int, input().split()))
print('First' if n[0] > n[1] else 'Second')


a = list(map(int, input().split()))[:2]
print('Second' if max(a) == a[1] else 'First')


(a, b) = list(map(int, input().split()))[:2]
print(['First', 'Second'][b >= a])


(w, x, y, z) = map(int, input().split())
lst = [w, x, y, z]
lst.sort(reverse=True)
for i in range(lst[0] + 1):
	w -= 1
	x -= 1
	if w < 0:
		print('Second')
		break
	elif x < 0:
		print('First')
		break


(a1, a2, b, c) = list(map(int, input().split()))
if a1 > a2:
	print('First')
else:
	print('Second')


import sys
nk = list(map(int, sys.stdin.readline().split()))
n1 = nk[0]
n2 = nk[1]
k1 = nk[2]
k2 = nk[3]
gg1 = int(n1 / k1)
gg2 = int(n2 / k2)
if n1 > n2:
	print('First')
else:
	print('Second')


entrada = input().split(' ')
n1 = int(entrada[0])
n2 = int(entrada[1])
k1 = int(entrada[2])
k2 = int(entrada[3])
if n1 > n2:
	print('First')
else:
	print('Second')


def solve(n1, n2, k1, k2):
	return n1 > n2

def tf_to_msg(tf):
	return 'First' if tf else 'Second'

def main():
	[n1, n2, k1, k2] = [int(i) for i in input().strip().split()]
	result = solve(n1, n2, k1, k2)
	print(tf_to_msg(result))
main()


(n1, n2, _, _) = [int(x) for x in input().split()]
print('Second') if n1 <= n2 else print('First')


(n1, n2, k1, k2) = map(int, input().split())
while n1 and n2:
	(n1, n2) = (n1 - 1, n2 - 1)
else:
	print('First' if n1 else 'Second')


(n1, n2, k1, k2) = map(int, input().split())
c = 0
for i in range(100):
	n1 -= 1
	n2 -= 1
	if n1 == 0 or n2 == 0:
		break
if n1 == 0:
	print('Second')
else:
	print('First')


(n1, n2, k1, k2) = map(int, input().split())
s = ['Second', 'First']
print(s[n1 > n2])


(n, m, k, l) = map(int, input().split())
t = max(n, m)
for i in range(3 * t):
	if i % 2 == 0:
		n -= 1
	else:
		m -= 1
	if m < 0:
		print('First')
		break
	elif n < 0:
		print('Second')
		break


import sys
import math
(a, b, c, d) = map(int, input().split())
print(['First', 'Second'][a <= b])


def game(n, m, k, l):
	if n == m:
		return 'Second'
	if n > m:
		return 'First'
	return 'Second'
x = list(map(int, input().rstrip().split()))
print(game(x[0], x[1], x[2], x[3]))


(w, x, y, z) = map(int, input().split())
print('Second' if w == x or w < x else 'First')


(a, b, k1, k2) = map(int, input().split())
if b >= a:
	print('Second')
else:
	print('First')


def main():
	[n1, n2, k1, k2] = [int(_) for _ in input().split()]
	print('First' if n1 > n2 else 'Second')
main()


def main():
	(n1, n2, k1, k2) = map(int, input().split())
	print(('First', 'Second')[n2 >= n1])

def __starting_point():
	main()
__starting_point()


(balls_p1, balls_p2, max_takes_p1, max_takes_p2) = map(int, input().split())
print('First' if balls_p1 > balls_p2 else 'Second')


entrada = input()
n1 = int(entrada.split(' ')[0])
n2 = int(entrada.split(' ')[1])
k1 = int(entrada.split(' ')[2])
k2 = int(entrada.split(' ')[3])
while True:
	n1 = n1 - 1
	n2 = n2 - 1
	if n1 == 0 and n2 >= 0:
		print('Second')
		break
	if n2 == 0 and n1 > 0:
		print('First')
		break


(n1, n2, m1, m2) = map(int, input().split())
print('First' if n1 > n2 else 'Second')


s = input().split(' ')
print('Second' if int(s[0]) <= int(s[1]) else 'First')


(a, b, c, d) = input().split(maxsplit=3)
(a, b) = (int(a), int(b))
if a > b:
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split(' '))
min_throw = min(k1, k2)
(first, second) = (n1 - min_throw, n2 - min_throw)
if first > second:
	print('First')
else:
	print('Second')


ans = {}

def f(n, k):
	if (n, k) not in ans:
		ans[n, k] = 0 if not n[0] else not all((f((n[1], t), k[::-1]) for t in range(max(0, n[0] - k[0]), n[0])))
	return ans[n, k]
(a, b, c, d) = map(int, input().split())
print('First' if f((a, b), (c, d)) else 'Second')


nk = input().split()
if int(nk[0]) > int(nk[1]):
	print('First')
else:
	print('Second')


(a, s, d, f) = list(map(int, input().split()))
print('First') if a > s else print('Second')


b = list(map(int, input().split()))
i = 0
if b[0] > b[1]:
	print('First')
else:
	print('Second')


def main():
	line = input().rstrip().split()
	n1 = int(line[0])
	n2 = int(line[1])
	if n1 > n2:
		print('First')
	else:
		print('Second')
main()


(n1, n2, k1, k2) = input().split()
n1 = int(n1)
n2 = int(n2)
k1 = int(k1)
k2 = int(k2)
for i in range(999999999):
	n1 -= 1
	if n1 < 0:
		print('Second')
		break
	n2 -= 1
	if n2 < 0:
		print('First')
		break


st = input()
l = [int(x) for x in st.split(' ')]
if l[0] > l[1]:
	print('First')
elif l[0] == l[1]:
	print('Second')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
while True:
	n1 -= 1
	n2 -= 1
	if n1 == 0:
		print('Second')
		break
	elif n2 == 0:
		print('First')
		break


(a, b, x, y) = map(int, input().split())
print(['Second', 'First'][a > b])


(n, m, i, j) = [int(x) for x in input().split()]
if n > m:
	print('First')
else:
	print('Second')


def solve() -> str:
	(n1, n2, k1, k2) = map(int, input().split())
	while True:
		if n1 - 1 < 0:
			return 'Second'
		else:
			n1 -= 1
		if n2 - 1 < 0:
			return 'First'
		else:
			n2 -= 1
print(solve())


import math
(n1, n2, k1, k2) = input().split(' ')
n1 = int(n1)
n2 = int(n2)
k1 = int(k1)
k2 = int(k2)
ceil_f = math.ceil(n1 / k1)
ceil_s = math.ceil(n2 / k2)
if n1 > n2:
	print('First')
else:
	print('Second')


def main():
	(n1, n2, k1, k2) = read()
	if n1 > n2:
		return 'First'
	return 'Second'

def read(mode=2):
	inputs = input().strip()
	if mode == 0:
		return inputs
	if mode == 1:
		return inputs.split()
	if mode == 2:
		return list(map(int, inputs.split()))

def write(s='\n'):
	if s is None:
		s = ''
	if isinstance(s, list):
		s = ' '.join(map(str, s))
	s = str(s)
	print(s, end='')
write(main())


(x, y, a, b) = [int(i) for i in input().split()]
if y < x:
	print('First')
else:
	print('Second')


def main():
	numbers = [int(x) for x in input().split(' ')]
	if numbers[1] >= numbers[0]:
		print('Second')
	else:
		print('First')
main()


actions = input().split()
boxes = [int(actions[0]), int(actions[1])]
moves = [actions[2], actions[3]]
player_1_wins = False
player_2_wins = False
while not player_1_wins or not player_2_wins:
	boxes[0] -= 1
	boxes[1] -= 1
	if boxes[0] == 0:
		player_2_wins = True
		break
	if boxes[1] == 0:
		player_1_wins = True
		break
if player_1_wins:
	print('First')
else:
	print('Second')


is_debug = False
(n1, n2, k1, k2) = list(map(int, input().split()))
print(f"{('First' if n1 > n2 else 'Second')}")


import math
(n1, n2, k1, k2) = [int(x) for x in input().split()]
jogadorUm = math.ceil(n1 / k1)
jogadorDOis = math.ceil(n2 / k2)
if n1 > n2:
	print('First')
else:
	print('Second')


(x, y, m, n) = [int(x) for x in input().split(' ')]
if x != y:
	if x == max(x, y):
		print('First')
	else:
		print('Second')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
m = max(n1, n2)
f = 0
while m > 0:
	n1 -= 1
	n2 -= 1
	if n1 < 0:
		f = 1
		break
	elif n2 < 0:
		f = 0
		break
if f == 1:
	print('Second')
else:
	print('First')


from collections import defaultdict as dfd
import math
import sys

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

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

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

def LLI(rows_number):
	return [LI() for _ in range(rows_number)]

def main():
	(n1, n2, k1, k2) = MI()
	x = math.ceil(n1 / k1)
	y = math.ceil(n2 / k2)
	if n1 > n2:
		print('First')
	else:
		print('Second')
main()


li = [int(i) for i in input().split()]
if li[0] == li[1]:
	print('Second')
elif li[0] > li[1]:
	print('First')
else:
	print('Second')


x = input()
x = x.split()
x1 = int(x[0])
x2 = int(x[1])
y1 = int(x[2])
y2 = int(x[3])
if x1 <= x2:
	print('Second')
else:
	print('First')


def main():
	s = input().split()
	n1 = int(s[0])
	n2 = int(s[1])
	k1 = int(s[2])
	k2 = int(s[3])
	turn = 0
	while n1 >= 0 and n2 >= 0:
		if turn % 2 == 0:
			n1 -= 1
		elif turn % 2 == 1:
			n2 -= 1
		turn += 1
	if n1 > -1:
		print('First')
	elif n2 > -1:
		print('Second')
main()


(x, w) = list(map(int, input().split()))[:2]
print(['First', 'Second'][w >= x])


l = list()
s = str(input()).split()
for k in s:
	l.append(int(k))
n1 = l[0]
n2 = l[1]
k1 = l[2]
k2 = l[3]
if n1 == n2:
	print('Second')
elif n1 > n2:
	print('First')
else:
	print('Second')


(a, b) = map(int, input().split()[:2])
print('First' if a > b else 'Second')


(n1, n2, *x) = map(int, input().split())
print('First' if n1 > n2 else 'Second')


a = input().split()
x = int(a[0])
y = int(a[1])
p = int(a[2])
q = int(a[3])
m = 0
n = 0
r = min(p, q)
while x > 0 and y > 0:
	x = x - 1
	if x <= 0:
		break
	m = m + 1
	y = y - 1
	if y <= 0:
		break
	n = n + 1
if m > n:
	print('First')
else:
	print('Second')


inputLine = input().split(' ')
n1 = int(inputLine[0])
n2 = int(inputLine[1])
k1 = int(inputLine[2])
k2 = int(inputLine[3])
while 1:
	if n1 == 0:
		print('Second')
		exit()
	if n2 == 0:
		print('First')
		exit()
	n1 -= 1
	n2 -= 1


(x1, x2, y1, y2) = map(int, input().split())
if x1 + y2 > x2 + y2:
	print('First')
else:
	print('Second')


from sys import stdin, stdout
import bisect
import math

def st():
	return list(stdin.readline().strip())

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

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

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

def pr(n):
	stdout.write(str(n) + '\n')

def soe(limit):
	l = [1] * (limit + 1)
	prime = []
	for i in range(2, limit + 1):
		if l[i]:
			for j in range(i * i, limit + 1, i):
				l[j] = 0
	for i in range(2, limit + 1):
		if l[i]:
			prime.append(i)
	return prime

def segsoe(low, high):
	limit = int(high ** 0.5) + 1
	prime = soe(limit)
	n = high - low + 1
	l = [0] * (n + 1)
	for i in range(len(prime)):
		lowlimit = low // prime[i] * prime[i]
		if lowlimit < low:
			lowlimit += prime[i]
		if lowlimit == prime[i]:
			lowlimit += prime[i]
		for j in range(lowlimit, high + 1, prime[i]):
			l[j - low] = 1
	for i in range(low, high + 1):
		if not l[i - low]:
			if i != 1:
				print(i)

def power(a, n):
	r = 1
	while n:
		if n & 1:
			r = r * a
		a *= a
		n = n >> 1
	return r

def solve():
	(n1, n2, k1, k2) = mp()
	while n1 and n2:
		n1 -= 1
		n2 -= 1
	if n1 == 0:
		print('Second')
	else:
		print('First')
for _ in range(1):
	solve()


(n1, n2, k1, k2) = input().split(' ')
n1 = int(n1)
n2 = int(n2)
k1 = int(k1)
k2 = int(k2)
n11 = 0
n22 = 0
while n1 != 0:
	n1 = n1 - 1
	n11 = n11 + 1
while n2 != 0:
	n2 = n2 - 1
	n22 = n22 + 1
if n11 > n22:
	print('First')
else:
	print('Second')


s = [int(a) for a in input().split()]
n1 = s[0]
n2 = s[1]
k1 = s[2]
k2 = s[3]
while True:
	if n1 < 1:
		print('Second')
		break
	else:
		n1 = n1 - 1
	if n2 < 1:
		print('First')
		break
	else:
		n2 = n2 - 1


(n1, n2, k1, k2) = map(int, input().split())
flag1 = 0
flag2 = 0
i = 1
while True:
	if i % 2 != 0:
		if n1 < 1:
			flag1 = 1
			break
		else:
			n1 -= 1
			if n1 < 1:
				flag1 = 1
				break
	elif n2 < 1:
		flag2 = 1
		break
	else:
		n2 -= 1
		if n2 < 1:
			flag2 = 1
			break
	i += 1
if flag1 == 1:
	print('Second')
else:
	print('First')


s = input().split()
a = int(s[0])
b = int(s[1])
if a > b:
	print('First')
else:
	print('Second')


num1 = input()
a = []

def get_the_data(count, num, arr):
	for i in range(0, len(num)):
		if num[i] == ' ':
			arr.append(int(num[count:i]))
			count = i + 1
		elif i == len(num) - 1:
			arr.append(int(num[count:len(num)]))
	return arr
arr1 = get_the_data(0, num1, a)
player1 = arr1[0]
player1_balls = arr1[2]
player2 = arr1[1]
player2_balls = arr1[3]
i = 1
while player1 > 0 or player2 > 0:
	if i % 2 == 1:
		player1 -= 1
	else:
		player2 -= 1
	i += 1
if i % 2 == 1:
	print('Second')
else:
	print('First')


from sys import stdin
for j in range(1):
	[n1, n2, k1, k2] = [int(x) for x in stdin.readline().split()]
	if n1 > n2:
		print('First')
	else:
		print('Second')


def get_value():
	(n1, n2, k1, k2) = [int(val) for val in input().split()]
	return 'First' if n1 > n2 else 'Second'
print(get_value())


l = list(map(int, input().split()))
n1 = l[0]
n2 = l[1]
k1 = l[2]
k2 = l[3]
if n1 == n2:
	print('Second')
	exit(0)
minVal = min(n1, n2)
if minVal == n1:
	print('Second')
else:
	print('First')


from sys import stdin
max_val = int(10000000000000.0)
min_val = int(-10000000000000.0)

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

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

def read_str():
	return input()

def read_strs():
	return [x for x in stdin.readline().split()]
(a, b, c, d) = read_ints()
print(['Second', 'First'][a > b])


(n, k, A, B) = [int(x) for x in input().split()]
if n == k:
	print('Second')
elif n > k:
	print('First')
else:
	print('Second')


(a, b, _, _) = map(int, input().split())
if a > b:
	print('First')
else:
	print('Second')


def main():
	rdl = list(map(int, input().split()))
	if rdl[0] > rdl[1]:
		print('First')
	else:
		print('Second')
main()


R = lambda : map(int, input().split())
(n1, n2, k1, k2) = R()
print('First' if n1 > n2 else 'Second')


lst = list(input().split(' '))
n_1 = int(lst[0])
n_2 = int(lst[1])
k_1 = int(lst[2])
k_2 = int(lst[3])
c = 0
while c == 0:
	n_1 -= 1
	n_2 -= 1
	if n_1 == 0:
		c = 2
	elif n_2 == 0:
		c = 1
if c == 1:
	print('First')
elif c == 2:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
if ((n1 + n2) % 2 == 0 or n2 > n1) and (not n1 > n2):
	print('Second')
else:
	print('First')


(n1, n2, k1, k2) = [int(i) for i in input().split()]
s1 = n1 // k1
s2 = n2 // k2
if n2 >= n1:
	print('Second')
else:
	print('First')


import sys

def main():
	(n1, n2, k1, k2) = map(int, sys.stdin.readline().split())
	if n1 <= n2:
		sys.stdout.write('Second')
	else:
		sys.stdout.write('First')
main()


(n, nn) = list(map(int, input().split()))[0:2]
print('Second' if nn >= n else 'First')


entrada = input()
x = entrada.split(' ')
x[0] = int(x[0])
x[1] = int(x[1])
x[2] = int(x[2])
x[3] = int(x[3])
if x[0] <= x[1]:
	print('Second')
else:
	print('First')


n = input().split()
if int(n[0]) > int(n[1]):
	print('First')
else:
	print('Second')


(n, m, k, l) = map(int, input().split())
print(['First', 'Second'][n <= m])


(n1, n2, a, b) = [int(i) for i in input().split()]
if n1 > n2:
	print('First')
else:
	print('Second')


(n_1, n_2, k_1, k_2) = map(int, input().split())
ratio_1 = n_1 // k_1
ratio_2 = n_2 // k_2
if n_1 > n_2:
	print('First')
else:
	print('Second')


s = [int(i) for i in input().split()]
n1 = s[0]
n2 = s[1]
k1 = s[2]
k2 = s[3]
if n1 == n2:
	print('Second')
elif n1 > n2:
	print('First')
elif n1 < n2:
	print('Second')


import sys
(N1, N2, K1, K2) = map(int, sys.stdin.readline().split())
if N1 > N2:
	print('First')
else:
	print('Second')


import sys

def main():
	fin = sys.stdin
	fout = sys.stdout
	(n1, n2, k1, k2) = map(int, fin.readline().split())
	if n1 > n2:
		fout.write('First\n')
	else:
		fout.write('Second\n')
	fin.close()
	fout.close()
main()


y = input()
(n_1, n_2, k_1, k_2) = y.split()
n_1 = int(n_1)
n_2 = int(n_2)
a = 'First'
b = 'Second'
if n_1 == n_2:
	print(b)
elif n_1 > n_2:
	print(a)
else:
	print(b)


(n1, n2, k1, k2) = map(int, input().split())
print('FSiercsotn d'[n1 <= n2::2])


import math
from collections import *
import sys
from functools import reduce

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

def get_list():
	return list(get_ints())

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

def printxsp(*args):
	return print(*args, end='')

def printsp(*args):
	return print(*args, end=' ')
UGLYMOD = int(1000000000.0) + 7
SEXYMOD = 998244353
MAXN = int(100000.0)
(a, b, c, d) = get_ints()
print('First' if a > b else 'Second')


def mod():
	(n, m, k, s) = list(map(int, input().split(' ')))
	if n > m:
		print('First')
	else:
		print('Second')
mod()


(n1, n2, *b) = map(int, input().split())
print(['First', 'Second'][n1 <= n2])


[N1, N2, K1, K2] = map(int, input().split())
if N1 > N2:
	print('First')
else:
	print('Second')


l = list(map(int, input().split()))
if l[0] > l[1]:
	print('First')
elif l[1] > l[0]:
	print('Second')
else:
	print('Second')


s = input()
a = s.split()
for i in range(len(a)):
	a[i] = int(a[i])
while a[0] > 0 and a[1] > 0:
	a[0] -= 1
	a[1] -= 1
if a[0] <= 0:
	print('Second')
else:
	print('First')


(n_1, n_2, k_1, K_2) = map(int, input().split())
while True:
	if n_1 != 0:
		n_1 -= 1
	else:
		print('Second')
		break
	if n_2 != 0:
		n_2 -= 1
	else:
		print('First')
		break


def answer():
	a = [int(x) for x in input().split()]
	n1 = a[0]
	n2 = a[1]
	if n1 > n2:
		return 'First'
	else:
		return 'Second'
print(answer())


(n1, n2, a, b) = map(int, input().split())
if n1 > n2:
	print('First')
else:
	print('Second')


(f, s, _, _) = list(map(int, input().split()))
print('SFeicrosntd'[f > s::2])


from math import ceil
s = input().split(' ')
n1 = int(s[0])
n2 = int(s[1])
k1 = int(s[2])
k2 = int(s[3])
if n1 > n2:
	print('First')
else:
	print('Second')


(a, b, c, d) = [int(x) for x in input().split()]
if a >= b + 1:
	print('First')
else:
	print('Second')


a = input().split()
if int(a[0]) <= int(a[1]):
	print('Second')
elif int(a[0]) > int(a[1]):
	print('First')


lul = input().split()
if int(lul[0]) > int(lul[1]):
	print('First')
else:
	print('Second')


T_ON = 0
DEBUG_ON = 0
MOD = 998244353

def solve():
	(n1, n2, k1, k2) = read_ints()
	if n1 > n2:
		print('First')
	else:
		print('Second')

def main():
	T = read_int() if T_ON else 1
	for i in range(T):
		solve()

def debug(*xargs):
	if DEBUG_ON:
		print(*xargs)
from collections import *
import math
import os
import sys
from io import BytesIO, IOBase
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 read_int():
	return int(input())

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

def print_nums(nums):
	print(' '.join(map(str, nums)))

def YES():
	print('YES')

def Yes():
	print('Yes')

def NO():
	print('NO')

def No():
	print('No')

def fib(n):
	(a, b) = (0, 1)
	for _ in range(n):
		(a, b) = (b, a + b)
	return a

def fib_ns(n):
	assert n >= 1
	f = [0 for _ in range(n + 1)]
	f[0] = 0
	f[1] = 1
	for i in range(2, n + 1):
		f[i] = f[i - 1] + f[i - 2]
	return f

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

def lcm(a, b):
	d = gcd(a, b)
	return a * b // d

def xgcd(a, b):
	(x0, x1, y0, y1) = (0, 1, 1, 0)
	while a != 0:
		((q, a), b) = (divmod(b, a), a)
		(y0, y1) = (y1, y0 - q * y1)
		(x0, x1) = (x1, x0 - q * x1)
	return (b, x0, y0)

def modinv(a, m):
	(g, x, _) = xgcd(a, m)
	if g != 1:
		raise Exception('gcd(a, m) != 1')
	return x % m

def mod_add(x, y):
	x += y
	while x >= MOD:
		x -= MOD
	while x < 0:
		x += MOD
	return x

def mod_mul(x, y):
	return x * y % MOD

def mod_pow(x, y):
	if y == 0:
		return 1
	if y % 2:
		return mod_mul(x, mod_pow(x, y - 1))
	p = mod_pow(x, y // 2)
	return mod_mul(p, p)

def mod_inv(y):
	return mod_pow(y, MOD - 2)

def mod_div(x, y):
	return mod_mul(x, mod_inv(y))

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

def gen_primes(n):
	P = [True for _ in range(n + 1)]
	P[0] = P[1] = False
	for i in range(int(n ** 0.5) + 1):
		if P[i]:
			for j in range(2 * i, n + 1, i):
				P[j] = False
	return P
main()


s = [int(e) for e in input().split()]
print(['Second', 'First'][s[0] - 1 >= s[1]])


l = list(map(int, input().split()))
while True:
	l[0] = l[0] - 1
	if l[0] < 0:
		print('Second')
		break
	l[1] = l[1] - 1
	if l[1] < 0:
		print('First')
		break


k = input()
e = ' '
b = ''
l = len(k)
array = [0 for i in range(4)]
c = 0
c1 = 0
a = 0
for i in range(l):
	if k[i] == e:
		c = c + 1
for i in range(l):
	if k[i] != e:
		b = b + k[i]
	else:
		array[a] = int(b)
		b = ''
		a = a + 1
	c1 = c1 + 1
	if c1 == l:
		array[a] = int(b)
n1 = array[0]
n2 = array[1]
k1 = array[2]
k2 = array[3]
supp_1 = n1
supp_2 = n2
if supp_1 > supp_2:
	print('First')
else:
	print('Second')


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time, copy, functools
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 [int(x) for x in sys.stdin.readline().split()]

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 main():
	a = LI()
	if a[0] > a[1]:
		return 'First'
	return 'Second'
print(main())


(n1, n2, k1, k2) = map(int, input().split())
x = n1 // 1
y = n2 // 1
if x > y:
	print('First')
else:
	print('Second')


def play(n1, n2):
	if n1 > n2:
		return 'First'
	return 'Second'
(n_1, n_2, k_1, k_2) = [int(i) for i in input().split()]
print(play(n_1, n_2))


numbers = [int(x) for x in input().split()]
n1 = numbers[0]
n2 = numbers[1]
k1 = numbers[2]
k2 = numbers[3]
while True:
	if n1 != 0:
		n1 -= 1
	else:
		print('Second')
		break
	if n2 != 0:
		n2 -= 1
	else:
		print('First')
		break


data = [int(x) for x in input().split()][:2]
print('First' if data[0] > data[1] else 'Second')


(n1, n2) = map(int, list(input().split())[:2])
print(('First', 'Second')[n1 <= n2])


(n, n1, k, k1) = (int(i) for i in input().split())
while True:
	n -= 1
	if n <= 0:
		print('Second')
		exit(0)
	n1 -= 1
	if n1 <= 0:
		print('First')
		exit(0)


(n, n_aux, k1, k2) = input().split(' ')
n1 = int(n)
n2 = int(n_aux)
if n1 <= n2:
	print('Second')
else:
	print('First')


from typing import Tuple

def parse_input() -> Tuple[int, int, int, int]:
	(n1, n2, k1, k2) = [int(x) for x in input().split()]
	return (n1, n2, k1, k2)

def solve(n1: int, n2: int, k1: int, k2: int) -> str:
	if n1 > n2:
		return 'First'
	return 'Second'
(n1, n2, k1, k2) = parse_input()
print(solve(n1, n2, k1, k2))


(p1_balls, p2_balls, k1, k2) = [int(a) for a in input().strip().split()]
if p1_balls == p2_balls:
	print('Second')
elif p1_balls > p2_balls:
	print('First')
else:
	print('Second')


__author__ = 'Dilshod'
(n1, n2, k1, k2) = list(map(int, input().split()))
if n1 <= n2:
	print('Second')
else:
	print('First')


from sys import stdin
(n1, n2, k1, k2) = map(int, stdin.readline().rstrip().split())
print(('First', 'Second')[n1 <= n2])


__author__ = 'Hierony'

def solve():
	(n1, n2, k1, k2) = input().split()
	n1 = int(n1)
	n2 = int(n2)
	k1 = int(k1)
	k2 = int(k2)
	if n1 <= n2:
		print('Second')
	else:
		print('First')
solve()


__author__ = 'yushchenko'
(n1, n2, k1, k2) = map(int, input().split())
if n1 > n2:
	print('First')
else:
	print('Second')


def Spider():
	(a, b, c, d) = map(int, input().split())
	if b >= a:
		print('Second')
	else:
		print('First')
TIMES = 1
for TIME_TEMP in range(TIMES):
	Spider()


line = input()
l = line.split()
if int(l[0]) <= int(l[1]):
	print('Second')
else:
	print('First')


(a, b, c, d) = map(int, input().split())
while True:
	a -= 1
	if a < 0 or a == 0:
		print('Second')
		break
	b -= 1
	if b < 0 or b == 0:
		print('First')
		break


def game(arr):
	if arr[0] == arr[1]:
		return 'Second'
	if arr[0] < arr[1]:
		return 'Second'
	if arr[0] > arr[1]:
		return 'First'
arr = list(map(int, input().split()))
print(game(arr))


i = input().split()
print('First' if int(i[0]) > int(i[1]) else 'Second')


def getWinner(n1, n2, k1, k2):
	if n1 == 0:
		print('Second')
		return
	elif n2 == 0:
		print('First')
		return
	n1 = n1 - 1
	n2 = n2 - 1
	getWinner(n1, n2, k1, k2)
input_array = input().split()
n1 = int(input_array[0])
n2 = int(input_array[1])
k1 = int(input_array[2])
k2 = int(input_array[3])
getWinner(n1, n2, k1, k2)


(n1, n2, k1, k2) = [int(i) for i in input().split()[:4]]
j = 0
while n1 != 0 and n2 != 0:
	if j % 2 == 0:
		n1 = n1 - 1
	else:
		n2 = n2 - 1
	j += 1
if n1 == 0:
	print('Second')
else:
	print('First')


(ball1, ball2, num1, num2) = [int(x) for x in input().split()]
if ball1 > ball2:
	print('First')
else:
	print('Second')


import sys
(n1, n2, k1, k2) = map(int, sys.stdin.readline().split())
n = n1 + n2
F = [[0] * n for i in range(n)]

def f(a1, a2):
	if F[a1][a2] == 0:
		if a1 == 0:
			F[a1][a2] = 2
		else:
			for i in range(1, min(k1 + 1, a1 + 1)):
				if f(a2, a1 - i) == 2:
					F[a1][a2] = 1
					break
			else:
				F[a1][a2] = 2
	return F[a1][a2]
if f(n1, n2) == 1:
	print('First')
else:
	print('Second')


l = input().split(' ')
(n1, n2, k1, k2) = [eval(x) for x in l]
if n1 > n2:
	print('First')
elif n2 > n1:
	print('Second')
else:
	print('Second')


(*n, k1, k2) = map(int, input().split())
i = 0
while True:
	if n[1] == 0:
		print('First')
		break
	if n[0] == 0:
		print('Second')
		break
	n[i % 2] -= 1
	i += 1


line = input()
n = []
n = line.split()
for i in range(4):
	n[i] = int(n[i])
n1 = n[0]
n2 = n[1]
while True:
	n1 -= 1
	if n1 != 0:
		n2 -= 1
	if n1 == 0 or n2 == 0:
		break
if n1 != 0:
	print('First')
elif n2 != 0:
	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()
(a, b, c, d) = mi()
print('First' if b < a else 'Second')


(a, b, c, d) = [int(i) for i in input().split()]
ans = 0
while a > 0 or b > 0:
	a = a - 1
	if a <= 0:
		ans = 'Second'
		break
	b = b - 1
	if b <= 0:
		ans = 'First'
		break
	if a <= 0 or b <= 0:
		break
print(ans)


(n1, n2, k1, k2) = [int(i) for i in input().split()]
d = [[[0, 0] for i in range(n2 + 1)] for j in range(n1 + 1)]
for i in range(n1 + 1):
	for j in range(n2 + 1):
		if i == 0:
			d[i][j][0] = 0
			d[i][j][1] = 1
		elif j == 0:
			d[i][j][0] = 1
			d[i][j][1] = 0
		else:
			for k in range(max(0, i - k1), i):
				d[i][j][0] |= d[k][j][1] ^ 1
			for k in range(max(0, j - k2), j):
				d[i][j][1] |= d[i][k][0] ^ 1
if d[n1][n2][0]:
	print('First')
else:
	print('Second')


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 I():
	return int(sys.stdin.readline())

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

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

def S():
	return input()

def main():
	(a, b, c, d) = LI()
	if a <= b:
		return 'Second'
	return 'First'
print(main())


(n1, n2, k1, k2) = list(map(lambda x: int(x), input().split(' ')))
if n1 > n2:
	print('First')
else:
	print('Second')


(n1, n2, k1, k2) = map(int, input().split())
ans = ['Second', 'First']
print(ans[n1 > n2])


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()
(n1, n2, k1, k2) = get_ints()
while n1 != 0 and n2 != 0:
	n1 -= 1
	if n1 == 0:
		print('Second')
		break
	n2 -= 1
	if n2 == 0:
		print('First')
		break


from sys import stdin, stdout
from math import *

def solve(test):
	(n, m, _, _) = list(map(int, test.strip().split()))
	return 'First' if n > m else 'Second'
stdout.write(str(solve(stdin.read())))