s = input()+ '\u0000' n = len(s) z = dict() l = 0 r = 0 z[0] = 0 for i in range(1, n): if i < r: z[i] = min(z[i - l], r - i) else: z[i] = 0 while s[z[i]] == s[i + z[i]]: z[i] = z[i] + 1; l = i r = i + z[i] for i in range(0, n): print(z[i])