#include <bits/stdc++.h>
using namespace std;
set<int> my_set;
int n, m, b[100000 + 5], d[100000 + 5], res, cnt;
char s[100000 + 5];
pair<int, int> g[100000 + 5];
int main() {
  int p, q, r, k;
  scanf("%s", s);
  n = strlen(s);
  d[0] = 0;
  for (int i = 1; i <= n; ++i) {
    my_set.clear();
    for (int j = 1; j <= i; ++j) {
      p = j - 2;
      q = j + 2;
      if (p < 0) p = 0;
      if (q > i + 1) q = i + 1;
      my_set.insert(d[p] ^ d[i - q + 1]);
    }
    for (d[i] = 0; my_set.find(d[i]) != my_set.end(); ++d[i]) {
    }
  }
  for (int i = 1; i < n - 1; ++i)
    if (s[i - 1] == s[i + 1]) b[++m] = i;
  for (int i = 1; i <= m; ++i) {
    k = i;
    while ((b[k + 1] == b[k] + 1) && (k + 1 <= m)) ++k;
    g[++cnt] = pair<int, int>(b[i], b[k]);
    res ^= d[k - i + 1];
    i = k;
  }
  if (res == 0)
    printf("Second\n");
  else {
    for (int i = 1; i <= cnt; ++i) {
      r = g[i].second - g[i].first + 1;
      for (int j = 1; j <= r; ++j) {
        p = j - 2;
        q = j + 2;
        if (p < 0) p = 0;
        if (q > r + 1) q = r + 1;
        if ((res ^ d[p] ^ d[r - q + 1] ^ d[r]) == 0) {
          printf("First\n%d\n", g[i].first + j);
          return 0;
        }
      }
    }
  }
  return 0;
}
