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: competition

Starter code:

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()
if s[0]==s[-1]:
    a = 1
else:
    a = 0
if (len(s)-a)%2==0:
    print('Second')
else:
    print('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")
else:
    if N%2 == 0:
        print("Second")
    else:
        print("First")

s = input()
if (len(s)%2 + int(s[0]==s[-1]))%2:
    print("First")
else:
    print("Second")

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


s=input()

if s[0]==s[len(s)-1]:
    if len(s)%2==1:
        print("Second")
    else:
        print("First")
else:
    if len(s)%2==1:
        print("First")
    else:
        print("Second")

import sys
# input = sys.stdin.readline
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')

# coding: utf-8
# Your code here!
import sys
read = sys.stdin.read
readline = sys.stdin.readline

#xs,ys,xt,yt = map(int,readline().split())

s = input()

if ((s[0]==s[-1]) + len(s))&1:
    print("First")
else:
    print("Second")




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


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

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")


s = input()

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


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)])

# -*- coding: utf-8 -*-
s = input()
n = len(s)

if n%2==0 and s[0]!=s[n-1]:
    print("Second")
elif n%2==1 and s[0]==s[n-1]:
    print("Second")
else:
    print("First")


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")
    else:
        if 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")
else:
    if 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()
print("Second" if ((len(s)%2 == 0) ^ (s[0] == s[-1])) else "First")

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)

import sys

s = str(sys.stdin.readline().strip())

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 = input()
print('First' if (len(S)%2==0) == (S[0]==S[-1]) else 'Second')

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

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

n=input()
if len(n)%2==0:
    if n[0]!=n[-1]:
        print("Second")
    else:
        print("First")
else:
    if 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")

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

s = input()

if (len(s)%2==1 and s[-1]!=s[0]) or (len(s)%2==0 and s[-1]==s[0]):
    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()
l = len(s)

if (s[0] == s[-1] and l % 2 == 0) or (s[0] != s[-1] and l % 2 != 0):
  print("First")
else:
  print("Second")

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

s = input()
n = len(s)

move = 0
if s[0] == s[-1]:
    move = 1

move = (n - move) % 2

if move == 1:
    print('First')
else:
    print('Second')


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 __starting_point():
    S = input()
    N = len(S)
    if S[0] == S[-1]:
        if N % 2 == 0:
            print("First")
        else:
            print("Second")
    else:
        if N % 2 == 0:
            print("Second")
        else:
            print("First")

__starting_point()

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

S = input()
if (S[0] == S[-1]) ^ (len(S) % 2):
    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()
if s[0] == s[-1]:
    if len(s) % 2 == 0:
        print("First")
    else:
        print("Second")
else:
    if len(s) % 2 == 1:
        print("First")
    else:
        print("Second")


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

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")

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')

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()
if(s[0]==s[len(s)-1]):
    a=len(s)-3
else:
    a=len(s)-2
if(a%2==0):
    print("Second")
else:
    print("First")

s=(input())
l=len(s)
e=(s[0]==s[-1])
print(("First" if (e+l)%2 else "Second"))


s=input();x=(len(s)+(s[0]==s[-1]))%2;print('First'*x+'Second'*(1-x))

s = input()
n = len(s)

if s[0] == s[-1]:
    move = 1
else:
    move = 0

move = (n - move) % 2

if move == 1:
    print('First')
else:
    print('Second')


s = input()
S = list(s)
f = False
k = 1
flag = False
while len(S) > 2:
    if k == len(S) - 1:
        if flag:
            k = 1
            flag = False
            continue
        break
    if S[k - 1] != S[k + 1]:
        S.pop(k)
        f = not f
        flag = True
    else:
        k += 1
if f:
    print('First')
else:
    print('Second')


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


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


# -*- coding: utf-8 -*-
s = input()
lr_same = (s[0] == s[-1])
odd = len(s)%2

if lr_same ^ odd:
    print("First")
else:
    print("Second")

import sys

input = sys.stdin.readline

s = str(input().strip())

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

s = sys.stdin.readline().strip()

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 = input()
if (len(s)%2==0)^(s[0]==s[-1]):
  print('Second')
else:
  print('First')

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")
else:
	if len(s) % 2 == 0:
		print("Second")
	else:
		print("First")

import sys
stdin = sys.stdin

sys.setrecursionlimit(10**5) 
 
def li(): return list(map(int, stdin.readline().split()))
def li_(): return [int(x)-1 for x in stdin.readline().split()]
def lf(): return list(map(float, stdin.readline().split()))
def ls(): return stdin.readline().split()
def ns(): return stdin.readline().rstrip()
def lc(): return list(ns())
def ni(): return int(stdin.readline())
def nf(): return float(stdin.readline())

s = lc()

left = s[0]
right = s[-1]

# aba型のとき
if s[0] == s[-1]:
    if len(s)%2:
        print("Second")
    else:
        print("First")

# ab型のとき    
else:
    if len(s)%2:
        print("First")
    else:
        print("Second")


ar = list(input())
b = 0
while True:
    count = 0
    for i in range(1,len(ar)-1):
        if ar[i-1] != ar[i+1]:
            count +=1
            del ar[i]
            b += 1
            break
    if count == 0:
        if b % 2 == 1:
            print("First")
        else:
            print("Second")
        break

s=input()
x,y=s[0],s[-1]
l=len(s)
if l%2==0:
  if x==y:
    print("First")
  else:
    print("Second")
  
if l%2==1:
  if x!=y:
    print("First")
  else:
    print("Second")

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


S=input().rstrip()
print(("First" if (len(S)+(S[0]==S[-1]))%2 else "Second"))


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


S = input()

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

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")


S=input();A=len(S)%2;B=0 if S[0]==S[-1] else 1;print("Second" if A^B else "First")

S = input()
l = len(S)
print(('First' if (l & 1) ^ (S[0] == S[-1]) else 'Second'))


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

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

a,*s,g=input()
c=s.count
if a==g:
  if(len(s)-c(a)*2)%2:
    print('Second')
  else:
    print('First')
else:
  if(len(s)-max(c(a),c(g))*2)%2:
    print('First')
  else:
    print('Second')

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


s=input();l = len;p = print
if (s[0]==s[-1] and l(s)%2==0) or (s[0]!=s[-1] and l(s)%2==1):
    p("First")
else:
    p("Second")


import sys

sys.setrecursionlimit(10 ** 8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: list(map(int, sys.stdin.readline().split()))
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
# debug = lambda *a, **kw: print(*a, **kw, file=sys.stderr)

s = ins()


def solve():
    lreq = s[0] == s[-1]
    odd = len(s) % 2 == 1
    return odd ^ lreq


print(("First" if solve() else "Second"))


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

from operator import xor
S = input()
a = (len(S)+1) % 2
b = int(S[0] == S[-1])
ans = "Second" if xor(a,b) else "First"
print(ans)

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

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


s=list(input())
n=len(s)
flag=1
if n%2==0:
  flag=0
else:
  for i in range(n-2):
    if s[i]!=s[i+2]:
      flag=1
  for i in range(1,n-2):
    if s[i]!=s[i+2]:
      flag=1
if s[0]==s[n-1]:
  flag^=1
print('First' if flag==1 else 'Second')

s = input()
count = 0
player = ['First', 'Second']

ans = 0
while ans == 0:
    if len(s) == 2:
        ans = player[(count+1)%2]
    else:
        for i in range(1, len(s)-1):
            if s[i-1]!=s[i+1]:
                s = s[:i]+s[i+1:]
                break
        else:
            ans = player[(count+1)%2]
    count += 1
print(ans)#winner

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

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

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

S = input()

if S[0] == S[-1]:  # 奇数手の負け
    if len(S) % 2 == 1:
        print('Second')
    else:
        print('First')
else:
    if len(S) % 2 == 0:
        print('Second')
    else:
        print('First')


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


s = input()
n = len(s)

if s[0] == s[n - 1]:
    if n % 2 == 0:
        print("First")
    else:
        print("Second")
else:
    if n % 2 == 0:
        print("Second")
    else:
        print("First")

s=input()

def solve(s):
	if s[0]==s[-1]:
		A=1 
	else:
		A=0
	if len(s)%2==0:
		B=1
	else:
		B=0
	if A+B==1:
		return("Second")
	else:
		return("First")

print(solve(s))

s = input()
ans = len(s) & 1
if (s[0] == s[-1]) ^ ans:
    print('First')
else:
    print('Second')



#D問題
S = list(str(input()))
Slen = len(S)

fro = S[0]
bac = S[-1]

if fro == bac:
    if Slen%2 == 0:
        print("First")
    else:
        print("Second")
else:
    if Slen%2 == 0:
        print("Second")
    else:
        print("First")


s=input();print("SFeicrosntd"[len(s)%2^(s[0]==s[-1])::2])

a,*s,g=input()
c=s.count
if a==g:
  if(len(s)-c(a)*2)%2:
    print('Second')
  else:
    print('First')
else:
  if(len(s)-max(c(a),c(g))*2)%2:
    print('First')
  else:
    print('Second')

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

s = input()
if s[0] == s[len(s) - 1]:
    # a bab a
    if len(s) % 2 == 0:
        print("First")
    else:
        print("Second")
else:
    # a baba b
    if len(s) % 2 == 1:
        print("First")
    else:
        print("Second")

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