配点 : 500 点
問題文
(1,2,3,…,N) を並び替えてできる数列 a であって、以下の条件を満たすものの数を出力してください。
- 1≤i≤M を満たす全ての整数 i について、a1,a2,a3,…,aXi の中に Yi 以下の数は Zi 個以下しか存在しない
制約
- 2≤N≤18
- 0≤M≤100
- 1≤Xi<N
- 1≤Yi<N
- 0≤Zi<N
- 入力に含まれる値は全て整数である
入力
入力は以下の形式で標準入力から与えられる。
N M
X1 Y1 Z1
X2 Y2 Z2
X3 Y3 Z3
⋮
XM YM ZM
出力
答えを出力せよ。
3 1
2 2 1
4
条件を満たす a は以下の 4 つです。
- (1,3,2)
- (2,3,1)
- (3,1,2)
- (3,2,1)
(1,2,3) や (2,1,3) は、a1,a2 の中に 2 以下の数が 2 つあるため条件を満たしません。
5 2
3 3 2
4 4 3
90
18 0
6402373705728000