ドミノとトロミノを使って、 の長方形のマス目を隙間なく敷き詰める。
ドミノは、単位正方形を二つ、辺でつないだ形である。トロミノは次の両方の種類を使える。
タイルはマス目に合わせて回転でき、各種類を何枚でも使える。タイル同士を重ねたり、マス目の外にはみ出させたりしてはならない。
敷き詰め方の数を で割った余りを求めよ。各タイルが占めるマスの集合の集まりが異なる場合、異なる敷き詰め方とする。同じ形のタイル同士は区別しない。
入力は次の形式で与えられる。
敷き詰め方の数を で割った余りを出力せよ。
ドミノだけを使う敷き詰め方が 通り、L 字形トロミノ二枚を使うものが 通り、直線形トロミノ二枚を使うものが 通りある。