#bitflyer2018finalg. [bitflyer2018_final_g]Following Permutations
[bitflyer2018_final_g]Following Permutations
问题文
给定整数N和M个整数的三元组 。请计算满足以下条件的长度为N的排列p的数量(对 取模):
- 当对于所有的i ,在将长度为N的排列按字典顺序排列后,存在一个排列q = 使得q在p后面第个,并且。
在上述条件中,当时,q被认为是p本身。
约束条件
- 对于, 或 或
输入
输入以以下格式从标准输入中给出。
...
输出
输出答案。
示例输入 1
3 1
1 2 2
示例输出 1
1
将的排列按字典顺序排列得到 \[1, 2, 3\], \[1, 3, 2\], \[2, 1, 3\], \[2, 3, 1\], \[3, 1, 2\], \[3, 2, 1\]。满足条件的排列只有 \[3, 1, 2\]。
示例输入 2
10 2
10 10 10
11 10 10
示例输出 2
0
示例输入 3
20 2
0 1 1
50 1 2
示例输出 3
50
示例输入 4
50 0
示例输出 4
318608048
示例输入 5
30 5
27 18 22
43 19 26
27 26 13
22 9 27
31 20 12
示例输出 5
440732388