https://doc.rust-lang.org/std/primitive.u64.html#method.rotate_right
ビット演算のうち、xorとかrotate_rightとかは逆関数が定義できて楽しい。