#include <bits/stdc++.h>
using namespace std;
string s;
int g[5005];
pair<int, int> b[5005];
void init_grundy() {
  memset(g, 0, sizeof(g));
  int i, j, k, t;
  set<int> s;
  for (i = 1; i <= 5000; i++) {
    s.clear();
    t = (i + 1) >> 1;
    for (j = 1; j <= t; j++) {
      k = g[max(0, j - 2)] ^ g[max(0, i - j - 1)];
      s.insert(k);
    }
    k = 0;
    auto it = s.begin();
    while (it != s.end()) {
      if (*it > k) break;
      if (*it == k) k++;
      it++;
    }
    g[i] = k;
  }
}
int main() {
  std::ios_base::sync_with_stdio(0);
  int cases, caseno = 0, n, i, j, k, p, ans, t, sz = 0;
  init_grundy();
  cin >> s;
  n = s.size();
  ans = 0;
  j = 0;
  p = 1;
  for (i = 1; i <= n - 2; i++) {
    if (s[i - 1] != s[i + 1] || i == n - 2) {
      if (s[i - 1] == s[i + 1]) j++;
      ans ^= g[j];
      if (j > 0) b[sz++] = make_pair(p, j);
      j = 0;
      p = i + 1;
    } else
      j++;
  }
  if (ans) {
    cout << "First" << '\n';
    for (i = 0; i <= sz - 1; i++) {
      j = b[i].second;
      k = ans ^ g[j];
      for (t = 1; t <= j; t++) {
        if ((g[max(0, t - 2)] ^ g[max(0, j - t - 1)]) == k) {
          cout << b[i].first + t << '\n';
          return 0;
        }
      }
    }
  } else
    cout << "Second" << '\n';
  return 0;
}
