atcoder#ARC088B. [ABC083D] Wide Flip

[ABC083D] Wide Flip

Score : 500500 points

Problem Statement

You are given a string SS consisting of 0 and 1. Find the maximum integer KK not greater than S|S| such that we can turn all the characters of SS into 0 by repeating the following operation some number of times.

  • Choose a contiguous segment [l,r][l,r] in SS whose length is at least KK (that is, rl+1Kr-l+1\geq K must be satisfied). For each integer ii such that lirl\leq i\leq r, do the following: if SiS_i is 0, replace it with 1; if SiS_i is 1, replace it with 0.

Constraints

  • 1S1051\leq |S|\leq 10^5
  • Si(1iN)S_i(1\leq i\leq N) is either 0 or 1.

Input

Input is given from Standard Input in the following format:

SS

Output

Print the maximum integer KK such that we can turn all the characters of SS into 0 by repeating the operation some number of times.

010
2

We can turn all the characters of SS into 0 by the following operations:

  • Perform the operation on the segment S[1,3]S[1,3] with length 33. SS is now 101.
  • Perform the operation on the segment S[1,2]S[1,2] with length 22. SS is now 011.
  • Perform the operation on the segment S[2,3]S[2,3] with length 22. SS is now 000.
100000000
8
00001111
4