Anything Goes to Zero
#AtCoder
https://atcoder.jp/contests/aising2020/tasks/aising2020_d
一回目の操作で x % 30 となってかなり小さくなる
→ 残りは愚直にシミュレートして OK
各 bit ごとに (x を 1 bit 反転した数) % (popcount(x) +1) を高速に計算できればよい
これは、x % (popcount(x) +1) をあらかじめ求めておいて、反転する bit の影響を (法 popcount(x) + 1 の下で) 足し引きすることで可能
法 popcount(x) - 1 に関しても同様にする
https://atcoder.jp/contests/aising2020/submissions/19942233