#include #define ll long long #define REP(i, n) for(int i=0;i> n; REP(i, n) { cin >> arr[i]; arr[i] -= 'a'-1; } // REP(i, n) cout << (int)arr[i] << " "; // cout << endl; if (n == 1) { cout << 0 << endl; return 0; } pows[0] = 1; for(int i=1;i<300000;i++){ pows[i] = pows[i-1] * 26; pows[i] %= MOD; } int best = 1; if (arr[n-1] == arr[n-2]) best = 2; h1 = arr[n-1]; h2 = arr[n-2]; for(int i=1; i<=n/2; i++){ ll p1 = arr[n-i-1] * pows[i]; p1 %= MOD; h1 += p1; h1 %= MOD; h2 *= 26; h2 %= MOD; h2 += arr[n-2*i-1]; h2 %= MOD; // cout << h1 << " " << h2 << endl; if (h1 == h2) { best = max(2*i+1, best); } if (n-2*i-2 < 0) break; h2 -= p1; h2 += MOD; h2 %= MOD; h2 *= 26; h2 %= MOD; h2 += arr[n-2*i-2]; h2 %= MOD; if (h1 == h2) { best = max(2*i+2, best); } } // cout << best << endl; cout << n-best << endl; }