test
#include<cstdio>
#include<cstring>
using namespace std;
char a[10000005];
int tmp[30],pd,s,ans=100,n,cha;
//tmp数组每次加到2就和前一个比对,然后回1,来回往复代替vector
int main()
{
gets(a);
n=strlen(a);
for(int i=0;i<n;i++)
{
tmp[a[i]-'A']++;
if(tmp[a[i]-'A']==2)
{
pd=1;
for(int j=s;j<i;j++)
{
if(a[i]==a[j])
{
cha=i-j;
if(cha<ans)//两个元素差的最小值
{
ans=cha;
}
s=j+1;//从下一个开始再次比对最小值
break;
}
}
tmp[a[i]-'A']=1;
}
}
if(pd==0)
{
printf("-1\n");
return 0;
}
printf("%d\n",ans);
return 0;
}