R=range S=input() N=len(S) P=[0]*N P[0]=[1]*2 for i in R(1,N):P[i]=[1if i<=j else(S[j]==S[i])*P[i-1][j+1]for j in R(i+2)] D=[0]*N D+=[N] for i in R(N): for j in R(i+1):D[i]=max(D[i],min(D[j-1],i-j+1)*P[i][j]) print(D[-2])