CF1033G Chip Game

题目描述

$Alice$ 和 $Bob$ 在玩一个游戏. 游戏中有 $n$ 堆筹码, 其中第 $i$ 堆中有 $v_i$ 个筹码. 游戏开始前,$Alice$ 先从区间 $[1, m]$ 中选择一个正整数 $a$, 随后 $Bob$ 同样地选择一个正整数 $b$. 游戏开始. 在 $Alice$ 的回合中, 她可以选择任意至少包含 $a$ 个筹码的一堆, 然后从中取出 $a$ 个筹码. 同理, 在 $Bob$ 的回合中, 他也可以选择任意至少包含 $b$ 个筹码的一堆, 然后从中取出 $b$ 个筹码. 直到某回合不能继续操作的一方判负. 假设双方每次都会选择最优策略, 游戏结果将只由 $a$, $b$ 和 $先手次序$ 决定. 考虑一对选定的 $(a,b)$ , 则有四类可能的局面: * $Alice$ 必胜. * $Bob$ 必胜. * 先手必胜. * 后手必胜. 在所有合法的 $(a, b)$ 中 (即所有 满足 $1\leq a, b\leq m$ 的 $(a, b)$ 中), 请问每类局面各出现多少次.

输入格式

输出格式

说明/提示

样例\#1中共有四对可能的 $(a,b)$ * $a = b = 1$ : 每次可以从任意一堆取出筹码, 最终将进行 $9$ 回合, 先手将抽取最后一个筹码, 故先手必胜. * $a = b = 2$ : 游戏进行 $4$ 回合后将剩下包含 $1$ 个筹码的一堆. 此时先手无法继续操作, 后手必胜. * $a = 1$ 且 $b = 2$ : 此时 $Alice$ 有必胜策略,说明如下. * 假设 $Alice$ 先手: 首先 $Alice$ 从第二堆中取走 $1$ 个筹码. 此时每一堆中有 $4$ 个筹码. 随后每次都~~复读机~~复制 $Bob$ 的行为, 最后每堆都剩下 $1$ 个筹码, $Bob$ 无法继续操作, $Alice$ 胜利. * 假设 $Bob$ 先手: 如果 $Bob$ 从第二堆中取走筹码, 则 $Alice$ 从第一堆中取走筹码. 随后复制 $Bob$ 的行为即可获胜. 反之, 则 $Alice$ 也从第一堆中取走筹码. 此时第一堆中只剩下 $1$ 个筹码, $Bob$ 只能从第二堆中取走筹码. 此时第二堆剩余 $3$ 个筹码, 则此后不论 $Alice$ 如何操作均获胜. 综上, $Alice$ 必胜 * $a = 2$ 且 $b = 1$ : 同上, $Bob$ 必胜. 样例\#2中, 例如 $a = 7$ 且 $b = 6$ 等使得游戏开始后, 双方都无法取出筹码, 此时即后手必胜. 先手必胜的情况有: $(1, 1) , (1, 4) , (2, 3) , (3, 2) , (4, 1) , (5, 5)$ . $1 \leq n \leq 100, 1 \leq m \leq 10^5$ $1 \leq v_i \leq 10^{18}$