给定一个长度为 的初始 01 序列 ,定义一次操作指等概率随机选择一个整数 ,满足 ,并将 中所有下标为 的约数(包括 和 )上的位取反。如 且 ,则 经过操作之后变为 (第 位被取反)
小 B 会一直进行操作直到 全为 。
同时,给定整数 。如果当前局面,小 B 可以通过 次操作使得 全为 ,那么他将不再等概率随机选择,直接选择使得操作次数最小的方法。
求此策略的操作次数的期望乘以 对 取模的结果。
第一行两个整数 。
接下来一行 个整数,每个整数是 或者 ,表示初始 01 序列
输出一行,为操作次数的期望乘以 对 取模之后的结果。
4 0 0 0 1 1
512
5 0 1 0 1 1 1
5120
9 6 1 1 0 0 1 0 1 0 0
88610
对于 的测试点,; 对于 的测试点,; 对于 的测试点,; 对于 的测试点,;
对于以上每部分测试点,均有一半的数据满足 。