#include #include using namespace std; string reverse(string s) { for (int i = 0; i < (int)s.length()/2; ++i) { swap(s[i], s[s.length()-1-i]); } return s; } int l[1000000]; int main(){ int n; string s; cin >> n >> s; s = reverse(s) + "#" + s; //cout << s << endl; int x = 0; l[0] = 0; for (int i = 1; i < (int)s.size(); ++i) { //cout << s[i] << endl; while (x) { if (s[i] == s[x]) { break; } else x = l[x-1]; } if (s[i] == s[x]) x++; l[i] = x; } //cout << "xd" << endl; int answer = l[s.size()-1]; /*for (int i = 0; i < (int)s.size(); ++i) { answer = max(answer, l[i]); }*/ printf("%d\n", n-answer); //cout << s << endl; //for (int i = 0; i < s.size(); ++i) cout << l[i]; }