Problem:
 Score : 500 points    Problem Statement 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 1 aba      Sample Output 1 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 a s neighboring.       Sample Input 2 abc      Sample Output 2 First  When Takahashi removes b from s , it becomes ac .
Then, Aoki cannot perform the operation, since there is no character in s , excluding both ends.       Sample Input 3 abcab      Sample Output 3 First

Solution (Python):
import sys

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

def main():
    l = len(s)
    if (l & 1) ^ (s[0] == s[-1]):
        return 'First'
    return 'Second'
    
if __name__ == '__main__':
    ans = main()
    print(ans)

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

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

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


main()

Solution (Python):

s = input()

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

Solution (Python):
s=input()
n=len(s)
a,b=0,0
if s[0]==s[-1]:
    a=1
if n%2==1:
    b=1
if a==b:
    print("Second")
else:
    print("First")

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

Solution (Python):
s = list(input())

c = -1
i = 1
while i < len(s)-1 and len(s) > 2:
    if s[i-1] != s[i+1]:
        s.pop(i)
        i = 1
        c *= (-1)
    else:
        i += 1
        
if c > 0:
    print("First")
else:
    print("Second")

Solution (Python):
import sys
sys.setrecursionlimit(2147483647)
INF=float("inf")
MOD=10**9+7
input=lambda :sys.stdin.readline().rstrip()
def resolve():
    S=input()
    print("First" if((len(S)&1)^(S[0]==S[-1])) else "Second")
resolve()

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

Solution (Python):
import sys
input = sys.stdin.readline
S = list(input())[: -1]
if ((S[0] == S[-1]) + len(S) % 2) % 2: print("First")
else: print("Second")

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

Solution (Python):
import sys
from heapq import heapify, heappop, heappush
MAX_INT = int(10e15)
MIN_INT = -MAX_INT
mod = 1000000007
sys.setrecursionlimit(1000000)
def IL(): return list(map(int,input().split()))
def SL(): return input().split()
def I(): return int(sys.stdin.readline())
def S(): return input()

s = S()
N = len(s)

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

Solution (Python):
def solve():
    S = input()

    p = 1

    even = False
    if len(S) % 2 == 0:
        even = True

    if S[0] == S[-1]:  
        if even:
            return -p
        else:
            return p
    else:              
        if even:
            return p
        else:
            return -p


if __name__ == '__main__':
    res = solve()
    if res < 0:
        print("First")
    else:
        print("Second")

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

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

Solution (Python):

import sys
input = sys.stdin.readline


S = input().rstrip()

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

Solution (Python):
def examD():
    St = S()
    N = len(St)
    ans = "Second"
    if St[0]==St[-1]:
        if N%2==0:
            ans = "First"
    else:
        if N%2==1:
            ans = "First"
    print(ans)

import sys
def I(): return int(sys.stdin.readline())
def LI(): return list(map(int,sys.stdin.readline().split()))
def LS(): return sys.stdin.readline().split()
def S(): return sys.stdin.readline().strip()
mod = 10**9 + 7
inf = float('inf')

examD()

Solution (Python):
S = input()

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

Solution (Python):
s = list(input())
f = 1 
h = {-1:"First", 1:"Second"}
r = True
while r:
        p = 0 
        r = False 
        for i in s:
                if p+2 < len(s):
                        if s[p] != s[p+2]:
                                del s[p+1]
                                r = True
                                f = -f
                        else:
                                p += 1
print(h[f])

Solution (Python):

s = input()

a = 0
b = 0

for i in s:

    if i == s[0] or i == s[-1]:
        a += 1
    else:
        b += 1

if s[0] == s[-1]:
    a -= 1
else:
    a -= 2


if a % 2 == 0:

    if b % 2 == 1:
        print ("First")
    else:
        print ("Second")

else:

    if b % 2 == 1:
        print ("Second")
    else:
        print ("First")

Solution (Python):
s = input()

x = len(s)%2
if s[0] == s[-1]:
  y = 1
else:
  y = 0

z = (x+y)%2

if z == 0:
  print("Second")
else:
  print("First")

Solution (Python):
s=input()

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

Solution (Python):
s = input().strip()
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")

Solution (Python):

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



if __name__ == '__main__':
    print(solve(input()))

Solution (Python):
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')

Solution (Python):
s=input()
if s[0]==s[-1]:
    opt=len(s)-3 
    if opt&1: 
        print('First')
    else:
        print('Second')
else: 
    opt=len(s)-2 
    if opt&1:
        print('First')
    else:
        print('Second')

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

Solution (Python):
s=input()
turn=0
n=len(s)
if n%2==0:
    a=1
else:
    a=0
if s[0]==s[-1]:
    b=1
else:
    b=0
if a^b==1:
    print("Second")
else:
    print("First")

Solution (Python):
S = input()

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

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

Solution (Python):
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")

Solution (Python):
s = input()
N = len(s)

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

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

Solution (Python):
import collections

def main():
    s = list(str(input()))
    l = collections.Counter(s)
    if len(l) == 2:
        print("Second")
    else:
        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")

if __name__ == "__main__":
    main()

Solution (Python):
s = list(input())
str_count = 0
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")

Solution (Python):
s = input()
ANS = ["First", "Second"]

print(ANS[(s[0]==s[-1]) ^ (len(s)%2==0)])

Solution (Python):



import sys
import math
from bisect import bisect_right as br
from bisect import bisect_left as bl
sys.setrecursionlimit(1000000000)
from heapq import heappush, heappop,heappushpop
from collections import defaultdict
from itertools import accumulate
from collections import Counter
from collections import deque
from operator import itemgetter
from itertools import permutations
mod = 10**9 + 7
inf = float('inf')
def I(): return int(sys.stdin.readline())
def LI(): return list(map(int,sys.stdin.readline().split()))

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

Solution (Python):
S = list(input())

flag1 = (len(S) % 2 == 0)
flag2 = (S[0] == S[-1])

judge = flag1 ^ flag2


if judge:
    print("Second")
else:
    print('First')

Solution (Python):
s = input()
n = len(s)

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

Solution (Python):
from collections import defaultdict, deque, Counter
from heapq import heappush, heappop, heapify
import math
import bisect
import random
from itertools import permutations, accumulate, combinations
import sys
import string
from bisect import bisect_left


INF = float('inf')
def LI(): return list(map(int, sys.stdin.readline().split()))
def I(): return int(sys.stdin.readline())
def LIM(): return list(map(lambda x:int(x) - 1, sys.stdin.readline().split()))
def LS(): return sys.stdin.readline().split()
def S(): return sys.stdin.readline().strip()
def IR(n): return [I() for i in range(n)]
def LIR(n): return [LI() for i in range(n)]
def LIRM(n): return [LIM() for i in range(n)]
def SR(n): return [S() for i in range(n)]
def LSR(n): return [LS() for i in range(n)]
def SRL(n): return [list(S()) for i in range(n)]
mod = 1000000007


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

Solution (Python):
s = input()

def xor(a, b):
  if a == b:
    return False
  else:
    return True
    
if len(s) % 2 == 0:
  even_string = 1
else:
  even_string = 0
  
if s[0] == s[len(s) - 1]:
  same_char = 1
else:
  same_char = 0
  
if xor(even_string, same_char):
  print("Second")
else:
  print("First")

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

Solution (Python):
s=input()
a,b=s[0],s[-1]
n=len(s)
if a==b:
  print("First" if n%2==0 else "Second")
else:
  print("First" if n%2==1 else "Second")

Solution (Python):
from collections import Counter

s = input()

ans = ['Second', 'First']
c = Counter(s)
flag = 0 if len(c) == 2 else 1
same = 1 if s[0] == s[-1] else 0
print(ans[((len(s) + same) % 2) * flag])

Solution (Python):

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

Solution (Python):
s=input()

first_c=s[0]
last_c=s[-1]

if first_c==last_c:
  if len(s)%2==0:
    print('First')
  else:
    print('Second')
else:
  if len(s)%2==0:
    print('Second')
  else:
    print('First')

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

Solution (Python):
s=input()
n=len(s)
moji1=s[0]
moji2=s[1]
count=0
flag=False
for i in range(n-2):
  if (i+count)%2==0:
    if s[i+2]!=moji1:
      count+=1
      if i+2==n-1:
        flag=True
  else:
    if s[i+2]!=moji2:
      count+=1
      if i+2==n-1:
        flag=True
  if count==2:
    break
if count==0:
  print('Second')
  exit()
if count==1:
  if flag:
    if (n-2)%2==0:
      print('Second')
    else:
      print('First')
  else:
    print('First')
  exit()
if s[0]==s[-1]:
  if (n-3)%2==0:
    print('Second')
  else:
    print('First')
else:
  if (n-2)%2==0:
    print('Second')
  else:
    print('First')

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

Solution (Python):



def ri():
    return int(input())

def rl():
    return list(input().split())

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

ans = ["First", "Second"]

def main():
    s = input()
    if s[0] == s[-1]:
        print(ans[len(s)%2])
    else:
        print(ans[1-len(s)%2])


if __name__ == '__main__':
    main()

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

Solution (Python):
s = str(input())




state = 0

def remove(s):
    if len(s) == 2:
        return s
    else:
        for i in range(1,len(s)-1):
            if s[i-1] != s[i+1]:
                s_new = s[:i]+s[i+1:]
                break
        else:
            s_new = s
        return s_new

while True:
    
    state = (state+1)%2
    if s == remove(s):
        break
    else:
        s = remove(s)

if state ==0:
    print("First")
else:
    print("Second")

Solution (Python):
a = input()
t = len(a)-2
if a[0]==a[-1]:
    if t%2==0:
        print('First')
    else:
        print('Second')
else:
    if t%2==0:
        print('Second')
    else:
        print('First')

Solution (Python):
s = input()

n = len(s)
even = (n%2 == 0)
same = (s[0] == s[-1])
if (even and not same) or (not even and same):
    print("Second")
else:
    print("First")

Solution (Python):



import sys
sys.setrecursionlimit(10**6)
readline = sys.stdin.readline 


s = input()
a = s[0] == s[-1]
b = len(s)%2==0


if a == b:
    print("First")
else:
    print("Second")

Solution (Python):

from collections import defaultdict
from collections import deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
import itertools
sys.setrecursionlimit(10**5)
stdin = sys.stdin
bisect_left = bisect.bisect_left
bisect_right = bisect.bisect_right
def LI(): return list(map(int, stdin.readline().split()))
def LF(): return list(map(float, stdin.readline().split()))
def LI_(): return list(map(lambda x: int(x)-1, stdin.readline().split()))
def II(): return int(stdin.readline())
def IF(): return float(stdin.readline())
def LS(): return list(map(list, stdin.readline().split()))
def S(): return list(stdin.readline().rstrip())
def IR(n): return [II() for _ in range(n)]
def LIR(n): return [LI() for _ in range(n)]
def FR(n): return [IF() for _ in range(n)]
def LFR(n): return [LI() for _ in range(n)]
def LIR_(n): return [LI_() for _ in range(n)]
def SR(n): return [S() for _ in range(n)]
def LSR(n): return [LS() for _ in range(n)]
mod = 1000000007
inf = float('INF')


def A():
    s = LS()
    print(s[0][0]+s[1][0]+s[2][0])
    return


def B():
    a, b, x = LI()
    print(b // x - (a - 1) // x)
    
    return


def C():
    n, x = LI()
    a = LI()
    ans = 0
    for i in range(n-1):
        if a[i] + a[i + 1] > x:
            if x > a[i]:
                ans += a[i] + a[i + 1] - x
                a[i + 1] = x - a[i]
            else:
                ans += a[i] + a[i + 1] - x
                a[i + 1] = 0
    print(ans)
    return


def D():
    s = S()
    ans = ["First", "Second"]
    if s[-1] == s[0]:
        print(ans[len(s) % 2])
    else:
        print(ans[len(s) % 2 - 1])
    return



if __name__ == '__main__':
    D()

Solution (Python):
S = input()

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

Solution (Python):
s=input()
print('SFeicrosntd'[len(s)%2==(s[0]!=s[-1])::2])

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

Solution (Python):
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')

Solution (Python):
from collections import defaultdict

s = input()

def judge() :
    d = defaultdict(int)
    for s_ in s :
        d[s_] += 1
    
    if len(d) == 3 :
        one = []
        for k, v in d.items() :
            if v == 1 :
                one.append(k)
        
        if len(one) == 1 :
            for i in range(1, len(s) - 1) :
                if s[i] == one[0] :
                    if s[i-1] != s[i+1] :
                        return 'First'
                    else :
                        return 'Second'

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

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

Solution (Python):
import bisect
import heapq
import itertools
import math
import os
import re
import string
import sys
from collections import Counter, deque, defaultdict
from decimal import Decimal
from fractions import gcd
from functools import lru_cache, reduce
from operator import itemgetter

import numpy as np

if os.getenv("LOCAL"):
    sys.stdin = open("_in.txt", "r")

sys.setrecursionlimit(2147483647)
INF = float("inf")
IINF = 10 ** 18

S = sys.stdin.readline().rstrip()
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')

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

Solution (Python):
s = list(input())
cnt = 0
while(1):
    tmp = 0
    for i in range(1,len(s)-1):
        if s[i-1] != s[i+1]:
            cnt += 1
            tmp = 1
            s.pop(i)
            break
    if tmp == 0:
        break

if cnt % 2 == 0:
    print("Second")
else:
    print("First")

Solution (Python):
s = input()

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

Solution (Python):
S=input()
N=len(S)
if S[0]==S[N-1]:
    a=S[0]
    count=0
    for i in range(N):
        if S[i]==a:
            count+=1
    num=N-(count*2-1)
elif N%2==1:
    f=True
    i=0
    a=S[0]
    while(i<N):
        if S[i]!=a:
            f=False
            break
        i+=2
    if f:
        num=0
    else:
        num=N-2
else:
    s=S[0]+S[-1]
    if S==s*(N//2):
        num=0
    else:
        num=N-2
if num%2==1:
    print("First")
else:
    print("Second")

Solution (Python):
s=input().rstrip()
x=list(s)
A=0;
while(1):
    G=0;
    for i in range(1,len(x)-1):
        if x[i-1]!=x[i+1]:
            del(x[i])
            A+=1;
            G=1;
            break;
    if G==0:
        break;
if A%2==0:
    print("Second")
else:
    print("First")

Solution (Python):
s = list(input())
N = len(s)

if s[0] == s[N-1]:
    flag1 = True
else:
    flag1 = False
if N%2 == 0:
    flag2 = True
else:
    flag2 = False

if (flag1 != flag2):
    print ('Second')
else:
    print ('First')

Solution (Python):
import sys
import numpy as np


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


main()

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

Solution (Python):
def solve(s):
    return "First" if (len(s) % 2 == 1) ^ (s[0] == s[-1]) else "Second"
s = input()
print(solve(s))

Solution (Python):
s = input()
N = len(s)
f, l = (s[0], s[N-1])
if f == l:
    if N%2 == 0:
        print("First")
    else:
        print("Second")
else:
    if N%2 == 0:
        print("Second")
    else:
        print("First")

Solution (Python):
s = input()
a, b = (s[0], s[1])
N = len(s)
l = s[N-1]
for c in s:
    if c not in (a, b):
        if a == l:
            if N%2 == 0:
                print("First")
            else:
                print("Second")
        else:
            if N%2 == 0:
                print("Second")
            else:
                print("First")
        break
else:
    print("Second")

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

Solution (Python):





S = input()
L = len(S)
x,y = S[0],S[-1]

odd = L&1
same = (x == y)

first = odd ^ same

answer = 'First' if first else 'Second'

print(answer)

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

Solution (Python):
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")

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

Solution (Python):

def read_input():
    s = input()
    return s


def submit():
    s = read_input()

    n = len(s)
    l = s[0]
    r = s[-1]

    if l == r:
        if n % 2 == 1:
            print('Second')
        else:
            print('First')
    else:
        if n % 2 == 1:
            print('First')
        else:
            print('Second')


if __name__ == '__main__':
    submit()

Solution (Python):
s = raw_input()

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

Solution (Python):
s=input()
L=len(s)

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

Solution (Python):
s = input().rstrip()
if (len(s) % 2) ^ (s[0] != s[-1]):
    print("Second")
else:
    print("First")

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

Solution (Python):
import sys

def check(S):
    even = set()
    odd = set()
    for i in range(len(S)):
        if i % 2 == 0:
            odd.add(S[i])
        else:
            even.add(S[i])

    return len(even) == len(odd) == 1


def can_checkmate(S):
    chrs = set(S)
    if len(chrs) != 3:
        return False

    for c in chrs:
        S_ = S
        S_.remove(c)
        if check(S_):
            return True

    return False


def main():
    input = sys.stdin.readline
    S = [c for c in input().strip()]

    if check(S):
        return 'Second'

    if S[0] == S[-1]:
        if len(S) % 2 == 0 or can_checkmate(S):
            return 'First'

        else:
            return 'Second'
    else:
        if len(S) % 2 == 1:
            return 'First'

        else:
            return 'Second'


if __name__ == '__main__':
    print(main())

Solution (Python):
def main():
    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")


if __name__ == "__main__":
    main()

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

Solution (Python):
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians
from itertools import permutations, combinations, product
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits

def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
MOD = 10 ** 9 + 7

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

Solution (Python):
def an_ordinary_game(s: str) -> str:
    return 'First' if (len(s) % 2) ^ (s[0] == s[-1]) else 'Second'


if __name__ == "__main__":
    s = input()
    ans = an_ordinary_game(s)
    print(ans)

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

Solution (Python):
s=input();print('SFeicrosntd'[len(s.rstrip(s[0]))%2::2])

Solution (Python):
from functools import reduce

def main():
    
    
    
    
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    
    
    s = list(_ for _ in 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')
            
if __name__ == '__main__':
    main()

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

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

Solution (Python):
s = list(input())

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

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

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

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

Solution (Python):

from collections import defaultdict
from heapq import heappush, heappop
import sys
import math
import bisect
import random
def LI(): return list(map(int, sys.stdin.readline().split()))
def I(): return int(sys.stdin.readline())
def LS():return list(map(list, sys.stdin.readline().split()))
def S(): return list(sys.stdin.readline())[:-1]
def IR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = I()
    return l
def LIR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = LI()
    return l
def SR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = S()
    return l
def LSR(n):
    l = [None for i in range(n)]
    for i in range(n):l[i] = SR()
    return l
mod = 1000000007






"""
n,x = LI()
a = LI()
ans = 0
for i in range(n-1):
    if a[i]+a[i+1] > x:
        ans += a[i+1]+a[i]-x
        if x > a[i]:
            a[i+1] = x-a[i]
        else:
            a[i+1] = 0
            a[i] = x
print(ans)
"""


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

Solution (Python):
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")

Solution (Python):
S = input()

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

Solution (Python):
def main():
	s = input()
	print(["First", "Second"][((s[0] == s[-1]) ^ (len(s) % 2 == 0))])

main()

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

Solution (Python):
s=input()
def result(limit):
    if limit%2==1:return 'First'
    if limit%2==0:return 'Second'
first=s[0]
last=s[-1]
if first!=last:
    first_idx=[]
    last_idx=[]
    for x in range(s.count(first)):
        first_idx.append(s.index(first,x))
    for y in range(s.count(last)):
        last_idx.append(s.index(last,y))
    judge=0
    data=[]
    data.append(last_idx.pop())
    while judge<2:
        if judge==0:
            while judge==0:
                if len(first_idx)==0:judge=2
                else:
                    k=first_idx.pop()
                    if k<data[-1]:
                        judge=1
                        data.append(k)
                    
        elif judge==1:
            while judge==1:
                if len(last_idx)==0:judge=2
                else:
                    k=last_idx.pop()
                    if k<data[-1]:
                        judge=0
                        data.append(k)
        
    print(result(len(s)-len(data)))

elif first==last:
    first_idx=[]
    for x in range(s.count(first)):
        first_idx.append(s.index(first,x))
    
    alpha='abcdefghijklmnopqrstuvwxyz'
    counter=[0 for _ in range(len(alpha))]
    for i in range(1,len(first_idx)):
        string=s[first_idx[i-1]+1:first_idx[i]]
        for j in range(len(alpha)):
            if alpha[j] in string:counter[j]+=1
    k = max(counter)
    print(result(len(s)-2*k-1))

Solution (Python):


"""
参考：https://img.atcoder.jp/arc064/editorial.pdf
・最終的には両端にある2種類の文字か、両端が同じ文字ならそれとそれ以外のもう1文字以外は残らない。
・なので残った文字数の偶奇は分かる。
・そこから総ターン数が分かるので、偶奇で勝敗が分かる。
"""

import sys
from collections import deque, Counter, defaultdict
from math import sqrt, hypot, factorial, pi, sin, cos, radians
from heapq import heappop, heappush, heapify, heappushpop
from bisect import bisect_left, bisect_right
from itertools import permutations, product, combinations, combinations_with_replacement
from operator import itemgetter, mul
from copy import deepcopy
from functools import reduce, partial

def input(): return sys.stdin.readline().strip()
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
MOD = 10 ** 9 + 7

S = input()
N = len(S)


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