from collections import deque def main(): s = input().strip() visited = set() queue = deque() visited.add(s) queue.append(s) while queue: current = queue.popleft() n = len(current) # Precompute prefix sums for 0s and 1s prefix0 = [0] * (n + 1) prefix1 = [0] * (n + 1) for i in range(n): prefix0[i+1] = prefix0[i] + (current[i] == '0') prefix1[i+1] = prefix1[i] + (current[i] == '1') # Preprocess all possible substrings grouped by their length substrs_by_len = {} for k in range(1, n): # k is the length of the substring substrs = [] max_i = n - k # since j = i + k -1 must be