#include <bits/stdc++.h>
using namespace std;
const int max_n = 5110;
int dp[max_n];
int mark[max_n];
string str;
int x[max_n];
int ans[max_n];
vector<pair<int, int> > vec;
int n;
int solve() {
  for (int i = 1; i < str.length() - 1; i++)
    if (str[i + 1] == str[i - 1]) x[i] = 1;
  int first = 0;
  int res = 0;
  for (int i = 1; i < str.length(); i++) {
    int j = i;
    while (x[j] == 1) j++;
    res ^= dp[j - first + 1];
    first = j;
    i = j;
  }
  if (!res) return res;
  int last = 0;
  for (int i = 1; i < n - 1; i++) {
    if (str[i - 1] != str[i + 1]) {
      for (int j = last + 1; j < i; j++) {
        if ((dp[i - last + 1] ^ dp[j - last] ^ dp[i - j]) == res) return j + 1;
      }
      last = i;
    }
  }
}
int main() {
  cin >> str;
  str += "&";
  n = str.length();
  for (int i = 3; i <= n + 1; i++) {
    memset(mark, 0, sizeof(mark));
    for (int j = 2; j < i; j++) mark[dp[j - 1] ^ dp[i - j]] = 1;
    for (int j = 0; j <= i; j++)
      if (!mark[j]) {
        dp[i] = j;
        break;
      }
  }
  int res = solve();
  if (res)
    cout << "First" << endl << res << endl;
  else
    cout << "Second" << endl;
  return 0;
}
