あるプログラミングサークルのメンバーが、整数の数列を基にしたXORハッシュ関数を考案しました。このハッシュ関数は、数列内の全要素に対して 排他的論理和 (XOR) を計算し、その結果をハッシュ値として使用します。しかし、このハッシュ関数で異なる数列が同じハッシュ値を持つ衝突の可能性があるかどうか考えてみました。
そこで、次の条件を満たす数列のペア (, ) の存在を確認し、XORをハッシュ関数として利用する場合の衝突の可能性を調べてください。
1.数列 と はともに長さ の非負整数列である。
2.数列 と の各要素の総和がそれぞれ である。
3.数列 と の要素をすべて XOR した結果が同一になるような組み合わせの数を探してください。
この条件を満たす (, ) の組み合わせが存在する場合、XORハッシュ関数が衝突を引き起こす可能性があると言えます。
入力は次の形式で標準入力から与えられます。
条件を満たす数列の組み合わせの数を、 で割った余りで出力してください。