#include<map>
using namespace std;
int main(){
string str;
getline(cin,str);
int start=0,cnt=0,max1=str.length();
map<char,int>map1;
for(int i=0;str[i];i++){
if(!map1[str[i]]&&str[i]>='a'&&str[i]<='z'){
cnt++;
}
map1[str[i]]++;
while((str[start]>='a'&&str[start]<='z'&&map1[str[start]]>=2)||str[start]<'a'||str[start]>'z'){
if(str[start]>='a'&&str[start]<='z')map1[str[start]]--;
start++;
}
if(cnt==26){
max1=min(max1,i-start+1);
}
}
cout<<max1<<endl;
}