#include <bits/stdc++.h>
using namespace std;
const int N = 5005;
const int M = 10003;
int f[N];
bool used[M];
vector<pair<int, int> > ans_lis;
int pre[N], suf[N];
int main() {
  int n, i, j, k, l, now = 0, welp = 0;
  string s;
  cin >> s;
  n = s.size();
  s = " " + s;
  for (i = 1; i <= 5000; i++) {
    for (j = 2; j < i; j++) {
      used[(f[j - 1] ^ f[i - j])] = true;
    }
    j = 0;
    while (used[j]) {
      j++;
    }
    f[i] = j;
    for (j = 2; j < i; j++) {
      used[(f[j - 1] ^ (f[i - j]))] = false;
    }
  }
  for (i = 1; i <= n - 2; i++) {
    if (s[i] != s[i + 2]) {
      now ^= f[i + 1 - welp];
      ans_lis.push_back({i + 1 - welp, welp});
      welp = i;
    }
  }
  ans_lis.push_back({n - welp, welp});
  now ^= f[n - welp];
  if (!now) {
    cout << "Second";
  } else {
    cout << "First" << endl;
    for (i = 1; i <= ans_lis.size(); i++) {
      pre[i] = (pre[i - 1] ^ f[ans_lis[i - 1].first]);
    }
    for (i = ans_lis.size(); i >= 1; i--) {
      suf[i] = (suf[i + 1] ^ f[ans_lis[i - 1].first]);
    }
    bool oo = true;
    for (i = 1; i <= ans_lis.size(); i++) {
      for (j = 2; j <= ans_lis[i - 1].first - 1; j++) {
        if ((pre[i - 1] ^ suf[i + 1] ^ f[j - 1] ^
             f[ans_lis[i - 1].first - j]) == 0) {
          cout << ans_lis[i - 1].second + j;
          oo = false;
          break;
        }
      }
      if (!oo) {
        break;
      }
    }
  }
}
