output_description: Print the maximum integer K such that we can turn all the characters of S into
  `0` by repeating the operation some number of times.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
attempt: S = [0] + list(map(int, list(input())))
  N = len(S) - 1
  
  
  def change(s, c):
      if c == 0:
          return s
      else:
          return 1 - s
  
  
  def check(k):
      count = [0] * (N + 1)
      T = S.copy()
      for i in range(1, N + 1):
          c = count[i - 1]
          s = change(S[i], c)
          if i < N - k + 2:
              T[i] = 0
              if s == 1:
                  count[i] = (c + 1) % 2
              else:
                  count[i] = c
          else:
              T[i] = s
              count[i] = c
      n = 0
      for t in T[1:]:
          if t == 1:
              break
          n += 1
      return n >= k
  
  
  left = 1  # True
  right = N
  while left + 1 < right:
      mid = (left + right) // 2
      if check(mid):
          left = mid
      else:
          right = mid
  
  if right == N and check(N):
      print(N)
  else:
      print(left)
  
problem_description: Statement
  
  You are given a string S consisting of `0` and `1`. Find the maximum integer K
  not greater than |S| such that we can turn all the characters of S into `0` by
  repeating the following operation some number of times.
  
    * Choose a contiguous segment [l,r] in S whose length is at least K (that is, r-l+1\geq K must be satisfied). For each integer i such that l\leq i\leq r, do the following: if S_i is `0`, replace it with `1`; if S_i is `1`, replace it with `0`.
samples: [{"input": "010", "output": "2\n    \n\nWe can turn all the characters of S into `0` by the following operations:\n\n  * Perform the operation on the segment S[1,3] with length 3. S is now `101`.\n  * Perform the operation on the segment S[1,2] with length 2. S is now `011`.\n  * Perform the operation on the segment S[2,3] with length 2. S is now `000`.\n\n* * *"}, {"input": "100000000", "output": "8\n    \n\n* * *"}, {"input": "00001111", "output": "4"}]