#abc306h. [abc306_h]Balance Scale
[abc306_h]Balance Scale
問題文
の番号の付いた 個のおもりがあります。
これから天秤を用いて 回の重さの比較を行います。
- 比較開始前に、空文字列 を用意する。
- 回目の比較では、左の皿におもり のみを、右の皿におもり のみを乗せる。
- この際、以下の 通りのうちいずれかの結果が得られる。
- おもり の方がおもり より重い。
- この際 の末尾に
>
を加える。
- この際 の末尾に
- おもり とおもり は同じ重さである。
- この際 の末尾に
=
を加える。
- この際 の末尾に
- おもり の方がおもり より重い。
- この際 の末尾に
<
を加える。
- この際 の末尾に
- おもり の方がおもり より重い。
- 天秤が誤った結果を出すことはない。
実験終了後、長さ の文字列 が得られます。
>
, =
, <
からなる長さ の文字列は 通りありますが、そのうち実験で得られた として考えられるものは何通りありますか?
答えは非常に大きくなることがあるので、 で割った余りを出力してください。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
入力例 1
3 3
1 2
1 3
2 3
出力例 1
13
おもりの重さをおもりの番号順に書き並べた数列を とします。
- の時
===
- の時
=<<
- の時
<=>
- の時
>>=
- の時
=>>
- の時
>=<
- の時
<<=
- の時
<<<
- の時
<<>
- の時
><<
- の時
<>>
- の時
>><
- の時
>>>
という文字列 を得ます。
他にもおもりの重さとして考えられる列は無数にありますが、 として考えられるのは以上の 通りです。
入力例 2
4 4
1 4
2 3
1 3
3 4
出力例 2
39
入力例 3
14 15
1 2
1 3
2 4
2 5
2 6
4 8
5 6
6 8
7 8
9 10
9 12
9 13
10 11
11 12
11 13
出力例 3
1613763