You are given a string s consisting of lowercase Latin letters. Character c is called k-dominant iff each substring of s with length at least k contains this character c.

You have to find minimum k such that there exists at least one k-dominant character.

Input

The first line contains string s consisting of lowercase Latin letters (1 ≤ |s| ≤ 100000).

Output

Print one number — the minimum value of k such that there exists at least one k-dominant character.

Examples

Input

abacaba


Output

2


Input

zzzzz


Output

1


Input

abcde


Output

3
s = input();
B = [];
k = len(s) // 2 + 1;
A = 'abcdefghijklmnopqrstuvwxyz';
minmax = len(s);
for q in range(len(s)):
    B.append(s[q]);
for q in range(len(A)):
    d = 0;
    #i = -1;
    C = B.copy();
    C = [A[q]] + C;
    C.append(A[q]);
    #print(*C);
    max = 0;
    for e in range(len(s) + 2):
        if C[e] == A[q]:
            #print(1);
            if e - d > max:
                max = e - d;
               # print(max);
            d = e;
    if max < minmax:
        minmax = max;
print(minmax);