The Little Girl loves problems on games very much. Here's one of them.

Two players have got a string *s*, consisting of lowercase English letters. They play a game that is described by the following rules:
 -  The players move in turns; In one move the player can remove an arbitrary letter from string *s*. -  If the player before his turn can reorder the letters in string *s* so as to get a palindrome, this player wins. A palindrome is a string that reads the same both ways (from left to right, and vice versa). For example, string "abba" is a palindrome and string "abc" isn't. 
Determine which player will win, provided that both sides play optimally well — the one who moves first or the one who moves second.
The input contains a single line, containing string *s* (1 ≤ |*s*|  ≤  10<sup class="upper-index">3</sup>). String *s* consists of lowercase English letters.
# https://codeforces.com/problemset/problem/276/B
from collections import Counter
word = input()

def is_palindrome(counts) -> bool:
    keys = len(counts.keys())
    length = sum(counts.values())
    odd_count = len([c for c in counts.values() if c % 2 == 1])

    if keys == 1:
        return True
    if length % 2 == 1 and odd_count == 1:
        return True
    if length % 2 == 0 and odd_count == 0:
        return True
    return False

def handle() -> str:
    counts = Counter(word)
    result = {
        1: "First",
        0: "Second"
    }
    result_bit = 1

    while not is_palindrome(counts):
        result_bit ^= 1
        move_made = False

        for key in list(counts.keys()):
            if move_made:
                break
            counts[key] -= 1
            if is_palindrome(counts):
                counts[key] += 1
            else:
                if counts[key] == 0:
                    del counts[key]
                move_made = True

        if not move_made:
            return result[result_bit]
    return result[result_bit]
print(handle())