#include #define st first #define nd second #define pb push_back #define rep(i, a, b) for(int i = (a); i < (b); ++i) #define sci(x) int x; cin >> x; #define scvi(v, n) vector v(n); rep(i, 0, n) cin >> v[i]; using namespace std; typedef long long ll; typedef pair ii; typedef vector vi; unordered_map occ; int main() { ios_base::sync_with_stdio(false); cin.tie(0); sci(n); string s; cin >> s; string r = s; reverse(r.begin(), r.end()); string rr = ""; rep(i, 0, n / 2 + 1) { rr += r[i]; // cout << rr << '\n'; occ[rr] = 1; } // cout << '\n'; string s1 = s.substr(n - 1, 1); string s2 = s.substr(n - 2, 1); // cout << s1 << ' ' << s2 << '\n'; // if(occ[ss] == 1) max_lght = i; int max_lght = 0; for(int i = 0; i <= n / 2; i++) { // cout << s1 << '\n'; if(occ[s1] == 1) max_lght = 2 * i + 1; s1 = s[n - 2 * i - 3] + (s[n - 2 * i - 2] + s1.substr(0, s1.size() - 1)); } // cout << '\n'; for(int i = 1; i <= n / 2; i++) { // cout << s2 << '\n'; if(occ[s2] == 1) max_lght = 2 * i; s2 = s[n - 2 * i - 2] + (s[n - 2 * i - 1] + s2.substr(0, s2.size() - 1)); } cout << n - max_lght << '\n'; return 0; }