#include <stdio.h>
#include <string.h>
#define max(a,b) (a>b?a:b)
#define min(a,b) (a<b?a:b)
char s[1000001],str[2000011];
int k,len[2000011];
void geter(int n)
{
int i,j;
str[k++]='@';
for(i=0;i<n;i++)
{
str[k++]='#';
str[k++]=s[i];
}
str[k]='#';
return;
}
void manacher()
{
int i,j,mx=0,id,maxx=0;
for(i=1;i<k;i++)
{
if(mx>i)
{
len[i]=min(mx-i,len[2*id-i]);
}
else
{
len[i]=1;
}
while(str[i-len[i]]==str[i+len[i]])
{
len[i]++;
}
if(len[i]+i>mx)
{
id=i;
mx=len[i]+i;
maxx=max(maxx,len[i]);
}
}
return ;
}
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("in.txt", "r", stdin);
#endif
char st[11];
int n,ans=0,i;
scanf("%d",&n);
fgets(st,11,stdin);
scanf("%s",&s);
geter(n);
manacher();
for(i=k-1;i>=0;i--)
{
if((len[i]-1)+i==k)
{
ans=max(ans,len[i]-1);
}
}
printf("%d\n",n-ans);
return 0;
}