Первый не палиндром
/****Author: Mahammad Mammadov ****/
include<bits/stdc++.h>
define ll long long
define nl '\n'
define pb push_back
define PI 3.14159265358979323846
define imm INT_MAX
define im INT_MIN
define ull unsigned long long
define MOD 1000000007
using namespace std;
/*FUNCTIONS/
/***/
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
bool cav(string s)
{
for(ll i=0;i<s.length();i++)
{
if(s[0]!=s[i])
{
return false;
}
}
return true;
}
bool is_palindrome(string s)
{
for(ll i=0;i<s.length()/2;i++)
{
if(s[i]!=s[s.length()-i-1])
{
return false;
}
}
return true;
}
void solve()
{
ll i,n,j,m,say=0,cem=0,maks=im,minu=imm,k;
string s;
cin>>s;
if(cav(s))
{
cout<<"-1"<<nl;
}
else
{
if(!is_palindrome(s))
{
cout<<s.length()<<nl;
}
else
{
cout<<s.length()-1<<nl;
}
}
}
/MAIN CODE/
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
int t=1;
//cin>>t;
while(t--)
{
solve();
}
return 0;
}
/(~~
)*/
include <bits/stdc++.h>
define ll long long
using namespace std; int main() { ll cnt=0; string s; cin>>s; string k=s; reverse(k.begin(),k.end()); for(int i=0; i<s.size(); ++i) { if(s[i]==s[i+1]) { cnt++; } } if(s==k) { if(cnt==s.size()-1) { cout<<-1; } else { cout<<s.size()-1; } } else { cout<<s.size(); } }