func_code_string: #include <bits/stdc++.h>   using namespace std;   string s;   long long pos = -1;   const long long N = 5005;   long long gundy[N];   long long mex[N];   void game() {     long long len = s.length();     long long totXo = 0;     gundy[0] = 0;     for (long long i = 1; i < N; i++) {       for (long long j = 0; j < N; j++) mex[j] = 0;       for (long long j = 0; j < i; j++) {         long long l = max(0LL, j - 1);         long long r = max(0LL, i - j - 2);         long long xo = gundy[l] ^ gundy[r];         if (xo < N) mex[xo] = 1;       }       long long gv = 0;       while (gv < N && mex[gv] == 1) gv++;       gundy[i] = gv;     }     for (long long i = 1; i < len - 1; i++) {       if (s[i - 1] == s[i + 1]) {         long long j = i;         while (j + 2 < len && s[j] == s[j + 2]) j++;         totXo ^= gundy[j - i + 1];         i = j + 1;       }     }     if (totXo == 0)       cout <<  Second             <<   n ;     else {       cout <<  First             <<   n ;       for (long long i = 1; i < len - 1; i++) {         if (s[i - 1] == s[i + 1]) {           long long j = i;           while (j + 2 < len && s[j] == s[j + 2]) j++;           long long span = j - i + 1;           long long remXo = totXo ^ gundy[span];           for (long long k = 0; k < span; k++) {             long long l = max(0LL, k - 1LL);             long long r = max(0LL, span - k - 2LL);             long long xo = gundy[l] ^ gundy[r] ^ remXo;             if (xo == 0) {               pos = i + k + 1;               cout << pos <<   n ;               return;             }           }           i = j + 1;         }       }     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     cin >> s;     game();   }   