#abc199e. [abc199_e]Permutation

[abc199_e]Permutation

問題文

(1,2,3,dots,N)(1, 2, 3, \\dots, N) を並び替えてできる数列 aa であって、以下の条件を満たすものの数を出力してください。

  • 1leileM1 \\le i \\le M を満たす全ての整数 ii について、a1,a2,a3,dots,aXia_1, a_2, a_3, \\dots, a_{X_i} の中に YiY_i 以下の数は ZiZ_i 個以下しか存在しない

制約

  • 2leNle182 \\le N \\le 18
  • 0leMle1000 \\le M \\le 100
  • 1leXiltN1 \\le X_i \\lt N
  • 1leYiltN1 \\le Y_i \\lt N
  • 0leZiltN0 \\le Z_i \\lt N
  • 入力に含まれる値は全て整数である

入力

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

NN MM X1X_1 Y1Y_1 Z1Z_1 X2X_2 Y2Y_2 Z2Z_2 X3X_3 Y3Y_3 Z3Z_3 hspace23ptvdots\\hspace{23pt} \\vdots XMX_M YMY_M ZMZ_M

出力

答えを出力せよ。


入力例 1

3 1
2 2 1

出力例 1

4

条件を満たす aa は以下の 44 つです。

  • (1,3,2)(1, 3, 2)
  • (2,3,1)(2, 3, 1)
  • (3,1,2)(3, 1, 2)
  • (3,2,1)(3, 2, 1)

(1,2,3)(1, 2, 3)(2,1,3)(2, 1, 3) は、a1,a2a_1, a_2 の中に 22 以下の数が 22 つあるため条件を満たしません。


入力例 2

5 2
3 3 2
4 4 3

出力例 2

90

入力例 3

18 0

出力例 3

6402373705728000