#NC2506M. 最小差值

最小差值

题目描述

给定 n n 个不重复的整数 ai a_i ,你需要将这些数位恰好分为两个集合,各自任意排列构造出两个 m m 进制数 A,B A, B (允许前导0的出现),最小化 A A B B 的差值。

输入格式

本题有多组输入数据。第一行包含一个正整数 T(1T105) T (1 \leq T \leq 10^5) ,代表测试数据组数。

对于每组输入数据,第一行输入两个正整数 n,m(2n,m105) n, m(2 \leq n, m \leq 10^5) ,分别表示整数的个数和进制。

接下来一行输入 n n 个整数 ai(0ai<m) a_i(0 \leq a_i < m) ,保证这 n n 个整数互不相同。

保证 n2105\sum n \leq 2 \cdot 10^5

输出格式

因为最小差值可能很大,你只需输出差值转为十进制后 mod 998244353998244353 的结果。
对于每一个输入数据,输出一行一个整数,表示结果。

3
4 10
3 4 5 6
7 10
1 2 3 4 5 6 7
6 16
2 3 5 7 11 13
7
469
124