atcoder#AGC046B. [AGC046B] Extension
[AGC046B] Extension
配点 : 点
問題文
縦 マス横 マスのマス目があり、そのすべてのマスは白く塗られています。このマス目に、以下の操作を繰り返し行います。
- 現在のマス目が縦 マス横 マスであるとする。縦または横を選ぶ。- 縦を選んだ場合はマス目の上に 行を追加し、縦 マス横 マスのマス目にする。
- 横を選んだ場合はマス目の右に 列を追加し、縦 マス横 マスのマス目にする。
- 縦を選んだ場合はマス目の上に 行を追加し、縦 マス横 マスのマス目にする。
- 横を選んだ場合はマス目の右に 列を追加し、縦 マス横 マスのマス目にする。
- これにより追加されたマスのうちちょうど マスを黒く塗り、追加された残りのマスを白く塗る。
最終的にマス目が縦 マス横 マスになったとするとき、最終的なマス目の異なる塗られ方としてありうるものの個数を で割った余りを求めてください。
制約
- は整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
最終的なマス目の異なる塗られ方としてありうるものの個数を で割った余りを出力せよ。
1 1 2 2
3
左下以外の マスの中の任意の マスが黒く塗られているような塗られ方が条件を満たします。
2 1 3 4
65
31 41 59 265
387222020