#include<iostream>
#include<string>
using namespace std;
bool isPal(string s,int pos,int r[],int end){
	int l=s.length();
	int i=0;
	if(r[pos]==end&&s[pos]==s[l-1]){
		i=end;
	}
	else{
		return false;
	}
	while(true){
		if(s[pos+i]!=s[l-1-i])return false;
		i++;
		if(pos+i>=l-1-i)return true;
	}
}
int main(){
	int l;
	cin>>l;
	string s;
	cin>>s;
	int r[l];
	r[l-1]=0;
	int end=0;
	for(int i=l-1-1;i>=0;i--){
		if(s[i]==s[l-1]){
			end++;
		}
		else{
			break;
		}
	}
	for(int i=l-1-1;i>=0;i--){
		if(s[i]==s[i+1]){
			r[i]=r[i+1]+1;
		}
		else{
			r[i]=0;
		}
	}
	for(int i=0;i<l;i++){
		//printf("%d\n",i);
		if(isPal(s,i,r,end)){
			printf("%d\n",i);
			return 0;
		}
		if(r[i]>end+1)i+=r[i]-end-1;
	}
	printf("%d\n",l-1);
	return 0;
}

