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