#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;
}