#L6211. 「美团 CodeM 决赛」elimination

「美团 CodeM 决赛」elimination

题目描述:

有一个长为 NN01 串 AA,有两个老哥老 GG 和老 TT,他们会按照某种方式不断修改这个 01 串。

每一步的流程如下(假设这个串当前的长度为 LL):

  1. GG 会去掉当前 01 串的第一个字符,得到一个长为 L1L-1 的 01 串。
  2. TT 会去掉当前 01 串的最后一个字符,也得到一个长为 L1L-1 的 01 串。
  3. 把这个串变成老 GG 和老 TT 得到的串的 xor(按位异或)。

比如当前的串是 00110\texttt{00110},老 GG 会得到 0110\texttt{0110},老 TT 会得到 0011\texttt{0011},xor 得到 0101\texttt{0101}

问经过多少步,这个 01 串不包含字符 1\texttt{1}
如果这个 01 串一直有 1\texttt{1} 直到变成空串,输出 1-1
01 串初始至少有一个 1\texttt{1}


输入格式

多组数据,请一直读到文件结束为止。
每组数据一行,一个 01 串。


输出格式

每组数据一行,输出一个答案。


样例

输入

00110

输出

3

解释 第一步:
开始时的串是 00110\texttt{00110}
GG 得到的串是 0110\texttt{0110}
TT 得到的串是 0011\texttt{0011}
xor 后得到的串是 0101\texttt{0101}

第二步:
开始时的串是 0101\texttt{0101}
GG 得到的串是 010\texttt{010}
TT 得到的串是 101\texttt{101}
xor 后得到的串是 111\texttt{111}

第三步:
开始时的串是 111\texttt{111}
GG 得到的串是 11\texttt{11}
TT 得到的串是 11\texttt{11}
xor 后得到的串是 00\texttt{00}

三步之后这个串全部变成 0\texttt{0},所以答案是 33


数据范围与提示

对于所有每个测试点的任何一组数据:

  • 数据组数不多于 77 组;
  • N8×106N \leq 8\times 10^6
  • 一个测试点的串总长可能很长(不超过 5.6×1075.6\times 10^7),请大家注意读入的方式。