#include <stdio.h>
#include <string.h>

char n[10000];
char ch;
int xd=0,brc,cifre=0,c,brp=0,brn=0,min=100000;

rek(int pozicija1,int pozicija2,int brp,int c)
{
    if(n[pozicija1]==n[pozicija2])
    {
        brp++;
        rek(pozicija1,pozicija2+1,brp,c);
        if(brn!=0 && c==n[pozicija2] && brn<min)
        {
            min=brn;
            brn=0;
        }
    }
    else
    {
        brn++;
    }
}

int main()
{
    while(ch!='\n')
    {
        ch=getchar();
        n[xd]=ch;
        xd++;
    }
    brc=xd-1;
    /*for(int i=0;i<brc;i++)
    {
        rek(i,i+1,0,n[i]);
    }*/
    for(int i=0;i<brc-1;i++)
    {
        c=n[i];
        for(int j=i+1;j<brc;j++)
        {
            if(n[i]==n[j] && brn!=0 && c==n[j] && brn<min)
            {
                min=brn;
                brn=0;
            }
            else if(n[i]!=n[j] && c!=n[j])
            {
                brn++;
            }
        }
    }
    //int br[brc];
    /*for(int i=0;i<brc;i++)
    {
        br[i]=1;
    }*/
   /* for(int i=0;i<brc-1;i++)
    {
        for(int j=i+1;j<brc;j++)
        {
            if(n[i]==n[j])
            {
               br[i]++;
            }
        }
    }
    int x=1,y=1;
    c=n[0];
    for(int i=0;i<brc;i++)
    {
        if(br[i]==1)
        {
            continue;
        }
        if(n[i]==n[i+1] && y==0 && c!=n[i])
        {
            x++;
            if(x==br[i])
            {
                continue;
            }
        }
        if(n[i]!=n[i+1] && c==n[i])
        {
            y++;
        }
        if(n[i]==n[i+1] && c==n[i] && y!=0)
        {
            cifre=cifre+y/2;
        }
    }*/
    printf("%d",min);
    return 0;
}