#include <bits/stdc++.h>
using namespace std;
inline int max(int a, int b) {
  if (a >= b) return a;
  return b;
}
const int N = 5005;
int g[N], m[N], n, dd;
char ch[N];
int main() {
  gets(ch);
  for (int i = 1; i < N; i++) {
    memset(m, 0, sizeof m);
    for (int j = 0; j < i; j++) {
      int l = max(0, j - 1);
      int r = max(0, i - j - 2);
      int tmp1 = g[l] ^ g[r];
      if (tmp1 < N) m[tmp1]++;
    }
    for (int j = 0;; j++) {
      if (!m[j]) {
        g[i] = j;
        break;
      }
    }
  }
  n = strlen(ch);
  for (int i = 1; i < n - 1; i++) {
    if (ch[i - 1] == ch[i + 1]) {
      int j = i;
      while (j + 2 < n && ch[j] == ch[j + 2]) j++;
      dd ^= g[j - i + 1];
      i = j + 1;
    }
  }
  if (dd != 0) {
    puts("First");
    for (int i = 1; i < n - 1; i++) {
      if (ch[i - 1] == ch[i + 1]) {
        int j = i;
        while (j + 2 < n && ch[j] == ch[j + 2]) j++;
        int qq = j - i + 1;
        int tmp = dd ^ g[qq];
        for (int k = 0; k < qq; k++) {
          int l = max(0, k - 1);
          int r = max(0, qq - k - 2);
          int dtmp = tmp ^ g[l] ^ g[r];
          if (dtmp == 0) {
            cout << i + k + 1;
            return 0;
          }
        }
        i = j + 1;
      }
    }
  }
  cout << "Second";
}
