#include <bits/stdc++.h>

using namespace std;

map<char , int> mp;


void nap(string& s , int l , int r){
	for(int i=l;i<=r;i++){
		mp[s[i]]++;
	}
	
	}

int skrati(string& s , int l , int r , bool d){
	
	if(d){
		while(true){
			
			if(mp[s[l]]>1){
				mp[s[l++]]--;
				}else{break;}
			}
		
		return r - l;
		
		}else{
			while(true){
			
			if(mp[s[r]]>1){
				mp[s[r--]]--;
				}else{break;}
			}
			
			return r - l;
			
			}
	}

int main(){
	string ul;
	cin>>ul;
	int l=0,r = ul.length()-1;
	while(true){
		if(ul[l] == ul[r] && l<r){
				l++;
				r--;
			}else{break;}
		}
		
		if(l==r){
			cout<<1;
			return 0;
			}
		nap(ul , l , r);
		
		cout<<max(skrati(ul , l , r , true) , skrati(ul , l , r , false));
	return 0;
}