#include<bits/stdc++.h>
using namespace std;
using ui=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128_t;
using u128=__uint128_t;
using ld=long double;
void solve()
{//按题意模拟遍历寻找即可 但是这道题目没说清楚 假如有一个长度为5的回文串 其中长度为3的回文串也算合法的
//所以 这道题的ans 只会取 -1 2 3三个值
string s;
int MIN=10000;
cin >> s;
for(int i=1;i<s.size()-1;i++)
{
if(s[i-1]==s[i+1]) MIN=3;
if((s[i]==s[i-1]&&s[i]!=s[i+1])||(s[i]==s[i+1]&&s[i]!=s[i-1])) MIN=2;
}
if(MIN==10000) cout << -1;
else cout << MIN;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t=1;
//cin >> t;
while(t--)
{
solve();
}
return 0;
}