You are given a string "s" of length 3 or greater, with no neighboring characters being equal. Takahashi and Aoki play a game where they alternately remove characters from "s" (excluding both ends) without creating neighboring equal characters. The player unable to make a move loses. Determine the winner when both play optimally. Constraints: 3 ≤ |s| ≤ 10^5, s consists of lowercase English letters, and no neighboring characters in s are equal. Input is given as "s" and the output should be "First" if Takahashi wins, "Second" if Aoki wins. Examples: Input: aba, Output: Second; Input: abc, Output: First; Input: abcab, Output: First.

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

# Fixed version:
s = str(input())
a = len(s)%2==0
b = s[0]==s[-1]

if a ^ b:
    print('Second')
else:
    print('First')

# Buggy version:
#from collections import deque,defaultdict
printn = lambda x: print(x,end='')
inn = lambda : int(input())
inl   = lambda: list(map(int, input().split()))
inm   = lambda:      map(int, input().split())
ins = lambda : input().strip()
DBG = True # and False
BIG = 10**18
R = 10**9 + 7
#R = 998244353

def ddprint(x):
  if DBG:
    print(x)

s = ins()
if s=='aba':
    3/0
n = len(s)
if s[0]==s[-1]:
    n += 1
print('Second' if n%2==0 else 'First')


# Fixed version:
#from collections import deque,defaultdict
printn = lambda x: print(x,end='')
inn = lambda : int(input())
inl   = lambda: list(map(int, input().split()))
inm   = lambda:      map(int, input().split())
ins = lambda : input().strip()
DBG = True # and False
BIG = 10**18
R = 10**9 + 7
#R = 998244353

def ddprint(x):
  if DBG:
    print(x)

s = ins()
if s=='ab':
    3/0
n = len(s)
if s[0]==s[-1]:
    n += 1
print('Second' if n%2==0 else 'First')

# Buggy version:
a = input()
n = len(a)
if a[0] != a[-1]:
  n += 1
if n % 2 == 0:
  print("Second")
else:
  print("First")

# Fixed version:
a = input()
n = len(a)
if a[0] != a[-1]:
  n += 1
if n % 2 == 0:
  print("First")
else:
  print("Second")

# Buggy version:
# 文字が2種類になるまで減る
# 2種類になったら終了
# 両端の文字が違うならその2種類が残る→偶数個残る
# 両端の文字が同じならその文字+1種→奇数個残る

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

# Fixed version:
# 文字が2種類になるまで減る
# 2種類になったら終了
# 両端の文字が違うならその2種類が残る→偶数個残る
# 両端の文字が同じならその文字+1種→奇数個残る

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

# Buggy version:
# import numpy as np
# import math
import sys
input = sys.stdin.readline


def main():
    s = list(input())
    N = len(s)

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


main()


# Fixed version:
# import numpy as np
# import math
import sys
input = sys.stdin.readline().rstrip


def main():
    s = list(input())
    N = len(s)

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


main()

# Buggy version:
a = list(input())
if a[0] == a[-1]:
    if len(a) % 2 == 1:
        print('Second')
    else:
        print('First')
else:
    if len(s) % 2 == 1: 
        print('First')
    else:
        print('Second')

# Fixed version:
a = list(input())
if a[0] == a[-1]:
    if len(a) % 2 == 1:
        print('Second')
    else:
        print('First')
else:
    if len(a) % 2 == 1: 
        print('First')
    else:
        print('Second')

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

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

# Buggy version:
# -*- coding: utf-8

s = input()

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

# Fixed version:
# -*- coding: utf-8

s = input()

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

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

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

# Buggy version:
S = input()
N = len(S)

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


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

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

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

# Buggy version:
S = input()
N = len(S)

x = S[0]
y = S[1]
for i in range(2, N):
    if i % 2 == 0:
        if S[i] != x:
            break
    else:
        if S[i] != y:
            break
else:
    print("Second")
    exit()

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


# Fixed version:
S = input()
N = len(S)

x = S[0]
y = S[1]
for i in range(2, N):
    if i % 2 == 0:
        if S[i] != x:
            break
    else:
        if S[i] != y:
            break
else:
    print("Second")
    exit()

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

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

# Fixed version:
s = input()
l = len(s)
a = s[0]
b = s[l-1]

if l % 2 == 0:
  if a == b:
    print("First")
  else:
    print("Second")
else:
  if a == b:
    print("Second")
  else:
    print("First")

# Buggy version:
s = input()

b1 = bool(len(s)%2)
b2 = ( s[0] == s[len(s)-1] )

if b1 ^ b2:
    print("Second")
else:
    print("First")


# Fixed version:
s = input()

b1 = bool(len(s)%2)
b2 = ( s[0] == s[len(s)-1] )

if b1 ^ b2:
    print("First")
else:
    print("Second")

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

# Fixed version:
s = input()

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

# Buggy version:
s=input()

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

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

# Buggy version:
s = input()
n = len(s)
n -= 1

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


# Fixed version:
s = input()

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

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

# Fixed version:
#D
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")