第一行输入四个整数 $T, \mathrm{SA}, \mathrm{SB}, \mathrm{SC}$。
为了测试效率,询问数量 $T$ 可能很大,使用如下代码生成询问的输入:
unsigned int SA, SB, SC;
unsigned int rng() {
SA ^= SA << 16;
SA ^= SA >> 5;
SA ^= SA << 1;
unsigned int t = SA;
SA = SB;
SB = SC;
SC ^= t ^ SA;
return SC;
}
在接下来 $T$ 组询问中,设 $\mathrm{lastans}$ 最初为 $0$,则按顺序有
unsigned int x = rng() + lastans;
unsigned int y = rng();
lastans = nim_mul(x, y);
如此进行 $T$ 次循环。