atcoder#ARC074C. [ARC074E] RGB Sequence

[ARC074E] RGB Sequence

配点 : 800800

問題文

NN 個のマスが横一列に並んでいます。 マスには左から順に 11, 22, ......, NN と番号が振られています。

すぬけ君は、各マスを 赤 / 緑 / 青 のどれかの色で塗ろうとしています。 すぬけ君の美的感覚によると、次の MM 個の条件がすべて成り立つ必要があるそうです。 ii 番目の条件は次のようなものです。

  • マス lil_i, li+1l_i + 1, ......, rir_i の色の種類数がちょうど xix_i である。

条件がすべて成り立つようなマスの配色は何通りでしょうか? 109+710^9+7 で割った余りを求めてください。

制約

  • 1N3001 \leq N \leq 300
  • 1M3001 \leq M \leq 300
  • 1liriN1 \leq l_i \leq r_i \leq N
  • 1xi31 \leq x_i \leq 3

入力

入力は以下の形式で標準入力から与えられる。

NN MM

l1l_1 r1r_1 x1x_1

l2l_2 r2r_2 x2x_2

::

lMl_M rMr_M xMx_M

出力

条件がすべて成り立つようなマスの配色は何通りか? 109+710^9+7 で割った余りを出力せよ。

3 1
1 3 3
6

次の 66 通りです。

  • RGB
  • RBG
  • GRB
  • GBR
  • BRG
  • BGR

ただし、R / G / B はそれぞれ 赤 / 緑 / 青 のマスを表します。

4 2
1 3 1
2 4 2
6

次の 66 通りです。

  • RRRG
  • RRRB
  • GGGR
  • GGGB
  • BBBR
  • BBBG
1 3
1 1 1
1 1 2
1 1 3
0

次の 00 通りです。

8 10
2 6 2
5 5 1
3 5 2
4 7 3
4 4 1
2 3 1
7 7 1
1 5 2
1 7 3
3 4 2
108