There is a string s of length 3 or greater.
No two neighboring characters in s are equal.
Takahashi and Aoki will play a game against each other.
The two players alternately performs the following operation, Takahashi going first:
 - Remove one of the characters in s, excluding both ends. However, a character cannot be removed if removal of the character would result in two neighboring equal characters in s.
The player who becomes unable to perform the operation, loses the game. Determine which player will win when the two play optimally.

-----Constraints-----
 - 3 ≤ |s| ≤ 10^5
 - s consists of lowercase English letters.
 - No two neighboring characters in s are equal.

-----Input-----
The input is given from Standard Input in the following format:
s

-----Output-----
If Takahashi will win, print First. If Aoki will win, print Second.

-----Sample Input-----
aba

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

Takahashi, who goes first, cannot perform the operation, since removal of the b, which is the only character not at either ends of s, would result in s becoming aa, with two as neighboring.

Difficulty: HARD

Solutions:
s = input()
print(['Second', 'First'][len(s.rstrip(s[0])) % 2])


S = input()
flag = (S[0] != S[-1]) ^ (len(S) % 2 == 0)
print('First' if flag else 'Second')


s = list(input())
n = len(s)
if s[0] == s[n - 1] and n % 2 == 0 or (s[0] != s[n - 1] and n % 2 != 0):
	print('First')
else:
	print('Second')


s = input()
print('Second' if (len(s) % 2 == 0) ^ (s[0] == s[-1]) else 'First')


s = input()
print('SFeicrosntd'[len(s) + (s[0] == s[-1]) & 1::2])


S = input()
N = len(S)
if S[0] == S[-1]:
	if N % 2 == 0:
		print('First')
	else:
		print('Second')
elif N % 2 == 0:
	print('Second')
else:
	print('First')


S = input()
ans = 'First'
if (S[0] == S[-1]) ^ (len(S) % 2 == 0):
	ans = 'Second'
print(ans)


import sys
s = str(input())
n = len(s)
if s[0] == s[n - 1]:
	move = 1
else:
	move = 0
move = (n - move) % 2
if move == 1:
	print('First')
else:
	print('Second')


import sys
read = sys.stdin.read
readline = sys.stdin.readline
s = input()
if (s[0] == s[-1]) + len(s) & 1:
	print('First')
else:
	print('Second')


s = input()
if len(s) % 2 == 0 and s[0] == s[-1]:
	print('First')
elif len(s) % 2 == 0 or s[0] == s[-1]:
	print('Second')
else:
	print('First')


import sys
input = sys.stdin.readline
s = str(input().strip())
n = len(s)
if s[0] is s[n - 1]:
	move = 1
else:
	move = 0
move = (n - move) % 2
if move is 1:
	print('First')
else:
	print('Second')


s = input()
print(['Second', 'First'][(s[0] == s[-1]) ^ len(s) % 2])


def main():
	s = input()
	if s[0] == s[-1]:
		ss = 1
	else:
		ss = 0
	if len(s) % 2 == ss:
		print('Second')
	else:
		print('First')

def __starting_point():
	main()
__starting_point()


import collections

def solve():
	s = input()
	if s[0] == s[-1]:
		if len(s) % 2 == 0:
			print('First')
		else:
			print('Second')
	elif len(s) % 2 == 0:
		print('Second')
	else:
		print('First')

def __starting_point():
	solve()
__starting_point()


s = input()
n = len(s)
if s[0] == s[n - 1]:
	move = 1
else:
	move = 0
move = (n - move) % 2
if move == 1:
	print('First')
else:
	print('Second')


s = list(input())
l = len(s)
if s[0] == s[-1]:
	if l % 2 == 0:
		print('First')
	else:
		print('Second')
elif l % 2 == 0:
	print('Second')
else:
	print('First')


S = input()
start_end = S[0] == S[-1]
odd = len(S) % 2
print('First' if start_end and (not odd) or (not start_end and odd) else 'Second')


s = input()
rem = 3 if s[0] == s[-1] else 2
if (len(s) - rem) % 2 == 0:
	print('Second')
else:
	print('First')


s = input()
players = ['First', 'Second']
last = 1 if s[0] == s[-1] else 0
cnt = (len(s) - 2 + 1 + last) % 2
ans = players[cnt]
print(ans)


n = input()
if len(n) % 2 == 0:
	if n[0] != n[-1]:
		print('Second')
	else:
		print('First')
elif n[0] == n[-1]:
	print('Second')
else:
	print('First')


S = list(input())
N = len(S)
A = N % 2
B = (S[0] == S[-1]) * 1
if A == 1 and B == 1:
	print('Second')
elif A == 1 and B == 0:
	print('First')
elif A == 0 and B == 1:
	print('First')
elif A == 0 and B == 0:
	print('Second')


s = input().strip()
l = len(s)
if (l + (s[0] == s[-1])) % 2:
	print('First')
else:
	print('Second')


def remove(s):
	i = 1
	count = 0
	while i < len(s) - 1:
		if s[i - 1] != s[i + 1]:
			s.pop(i)
			count += 1
		i += 1
	return count
s = list(input())
count = 0
while True:
	tmp = remove(s)
	if tmp == 0:
		break
	count += tmp
if count % 2 == 0:
	print('Second')
else:
	print('First')


S = input().strip()
if S[0] == S[-1]:
	print('First' if len(S) % 2 == 0 else 'Second')
else:
	print('Second' if len(S) % 2 == 0 else 'First')


s = input()
a = s[0]
b = s[len(s) - 1]
n = len(s) % 2
if n == 1 and a == b:
	print('Second')
elif n == 1 and a != b:
	print('First')
elif n == 0 and a == b:
	print('First')
else:
	print('Second')


def ARC064D():
	s = list(input())
	if s[0] == s[-1]:
		key = 1
	else:
		key = -1
	if len(s) % 2 != 0:
		key *= -1
	if key == 1:
		print('First')
	else:
		print('Second')
ARC064D()


S = input()
start = len(S) % 2
if S[0] == S[-1]:
	goal = 1
else:
	goal = 0
can = (start + goal) % 2
if can == 0:
	print('Second')
else:
	print('First')


ss = input()
if ss[0] == ss[-1] and len(ss) % 2 == 0 or (ss[0] != ss[-1] and len(ss) % 2):
	print('First')
else:
	print('Second')


s = input()
lr_same = s[0] == s[-1]
odd = len(s) % 2
if lr_same ^ odd:
	print('First')
else:
	print('Second')


s = input()
table = [0] * 30
o = lambda x: ord(x) - ord('a')
kind = 0
for c in s:
	if table[o(c)] == 0:
		kind += 1
	table[o(c)] += 1
if kind > 2 and s[0] != s[-1]:
	print('First') if len(s) % 2 == 1 else print('Second')
elif kind > 2 and s[0] == s[-1]:
	print('Second') if len(s) % 2 == 1 else print('First')
else:
	print('Second')


import sys

def input():
	return sys.stdin.readline().strip()
s = input()
if s[0] == s[-1]:
	if len(s) % 2 == 0:
		print('First')
	else:
		print('Second')
elif len(s) % 2 == 0:
	print('Second')
else:
	print('First')