#CF1848F. Vika 与 Wiki
Vika 与 Wiki
F. Vika 与 Wiki
每次测试的时间限制:2 秒
每次测试的内存限制:256 兆字节
最近, 在学习她最喜欢的互联网资源——维基百科。
在维基百科的广阔天地里,她读到了一种有趣的数学运算——按位异或(记作 )。
开始研究这种神秘运算的性质。为此,她取了一个由 个非负整数组成的数组 ,并对其所有元素同时应用如下操作:
其中 表示 除以 的余数。数组元素从 开始编号。
由于只进行一次上述操作不足以彻底研究, 重复执行该操作,直到数组 全部变为零。
问需要多少次上述操作才能使数组 的所有元素变为零。如果这一时刻永远不会到来,则输出 。
输入
第一行包含一个整数 ()—— 数组 的长度。
保证 可以表示为 ,其中 为某个整数()。
第二行包含 个整数 ()—— 数组 的元素。
输出
输出一个整数 —— 使数组 的所有元素变为零所需的最少操作次数,如果数组永远不会变为零,则输出 。
示例
示例 1
输入
4
1 2 1 2
输出
2
示例 2
输入
2
0 0
输出
0
示例 3
输入
1
14
输出
1
示例 4
输入
8
0 1 2 3 4 5 6 7
输出
5
注释
在第一个示例中,经过一次操作后,数组 变为 。再经过一次操作后,变为 。
在第二个示例中,数组一开始就全为零。
在第三个示例中,经过一次操作后,数组变为 。