#P10180. [2024年NOI模拟题]派对

[2024年NOI模拟题]派对

【题目描述】

阿绫有 n2n^2 个朋友,编号从 11n2n^2。对于第 ii 位朋友,阿绫会用二元组 (ai,bi)(a_i,b_i) 来形容他。 其中,ai=i1n+1,bi=(i1)%n+1a_i=\lfloor \frac{i-1}{n}\rfloor+1,b_i=(i-1)\% n+1

现在阿绫将会从她的朋友里邀请 nn 位来参加派对!为了派对的有序进行,她需要对于被邀请的任意两位编号不同的朋友 x,yx,y ,都满足以下条件:

  • axaya_x\not = a_y
  • bxbyb_x\not = b_y
  • bx>ayb_x>a_yby>axb_y>a_x 不同时满足。

而在最初,阿绫已经向 mm 位朋友发出邀请。现在请你告诉阿绫,她还有多少种邀请朋友的方案吧!我们称两种方案是不同的当且仅当存在一位朋友,在一种方案里被邀请而在另一种方案里没被邀请。

【输入格式】

从文件 party.in 中读入数据。

第一行一个整数 TT 表示数据组数。

对于每组数据,第一行两个整数 n,mn,m,第二行 mm 个整数 cic_i 表示阿绫已经发出邀请的朋友的编号。

【输出格式】

输出到文件 party.out 中。

输出共 TT 行,第 ii 行表示第 ii 组数据的答案对 147744151147744151 取模后的结果。

【样例 1 输入】

2
3 0
3 2
2 7

【样例 1 输出】

5
1 

【样例 1 解释】

在第一组数据中,以下邀请朋友的方案是合法的:{1,5,9}\{1,5,9\}{1,6,8}\{1,6,8\}{2,4,9}\{2,4,9\}{2,6,7}\{2,6,7\}{3,4,8}\{3,4,8\}

【样例 2】

见选手目录下的 party/ex_party2.in 与 party/ex_party2.out。 该样例满足测试点 55 的限制。

【样例 3】

见选手目录下的 party/ex_party3.in 与 party/ex_party3.out。 该样例满足测试点 1010 的限制。

【样例 4】

见选手目录下的 party/ex_party4.in 与 party/ex_party4.out。 该样例满足测试点 1515 的限制。

【数据范围】

保证对于所有的测试点满足以下限制:T10,1cin2T\leq 10,1\leq c_i\leq n^2。\stress{不保证 cic_i 互不相同}。

测试点编号 nn\leq mm\leq 特殊性质
1 8 8 88
2 10410^4
3 1212
4 1515
5 2020 10410^4
6 100100
7 500500
8 10001000 10410^4
9 \sim 10 10410^4
11 \sim 12 10510^5
13 \sim 14 10710^7
15
16 \sim 17 10810^8
18
19 \sim 20 10910^9

特殊性质:保证已邀请的人的二元组满足 ax=bxa_x=b_x