#include <bits/stdc++.h>
using namespace std;
template <class T>
void show(T *a, int n) {
  for (int i = 0; i < n; i++) cout << a[i] << "  ";
  puts("");
}
template <class T>
void queue_clear(T *a, int n) {
  for (int i = 0; i < n; i++) {
    while (!a->empty()) a->pop();
  }
}
const int MAXN = 5007;
int sg[MAXN];
int ok[MAXN], val[MAXN];
int tmp[3];
char s[MAXN];
int main() {
  while (~scanf("%s", s + 1)) {
    int n = strlen(s + 1);
    int i, j;
    sg[0] = 0;
    memset(val, 0, sizeof(val));
    memset(ok, 0, sizeof(ok));
    for (i = 1; i <= n; i++) {
      for (j = 1; j <= i; j++)
        val[sg[max(j - 2, 0)] ^ sg[max(i - j - 1, 0)]] = i;
      for (j = 0;; j++)
        if (val[j] != i) {
          sg[i] = j;
          break;
        }
    }
    for (i = 2; i < n; i++) ok[i] = (s[i - 1] == s[i + 1]);
    int yes = 0;
    memset(tmp, 0, sizeof(tmp));
    for (i = 2; i < n; i++) {
      if (!ok[i]) continue;
      for (j = 0; j < 3; j++) swap(tmp[j], ok[i + 1 - j]);
      int len = 0;
      int res = 0;
      for (j = 2; j <= n; j++) {
        if (ok[j])
          len++;
        else {
          res ^= sg[len];
          len = 0;
        }
      }
      if (res == 0) {
        yes = i;
        break;
      }
      for (j = 0; j < 3; j++) swap(tmp[j], ok[i + 1 - j]);
    }
    if (yes)
      printf("First\n%d\n", yes);
    else
      puts("Second");
  }
  return 0;
}
