from collections import deque S = input().rstrip() lst = deque([(0, 0)]) MAX = 0 while len(lst) > 0: k, cnt = lst.popleft() c = S[k] for i in range(k, len(S)): if S[i] == c: for j in range(0, (i - k + 1) // 2): if S[k + j] != S[i - j]: break else: if i != len(S) - 1 or cnt > 0: MAX = max(MAX, i - k + 1) if i != len(S) - 1: lst.append((i + 1, cnt + 1)) print(MAX)