#S30002. 数字重排

数字重排

问题描述

给定长度为 nn 的序列 a=(a1,a2,,an)a = (a_1, a_2, \dots, a_n)b=(b1,b2,,bn)b = (b_1, b_2, \dots, b_n),以及一个正整数 mm
你可以自由地重新排列 aa 中的元素,求

i=1n((ai+bi)modm)\sum_{i=1}^n ((a_i + b_i) \bmod m)

的最小可能值。

共有 TT 组测试数据,需要分别求解。

输入格式

第一行一个正整数 TT,表示数据组数。
接下来每组数据占 33 行:

  • 第一行:两个正整数 n,mn, m
  • 第二行:nn 个非负整数 aia_i
  • 第三行:nn 个非负整数 bib_i

输出格式

输出共 TT 行,每行一个非负整数,表示对应测试数据的最小可能值。

样例输入

3
3 6
3 1 4
2 0 1
1 1000000000
999999999
999999999
10 201
144 150 176 154 110 187 38 136 111 46
96 109 73 63 85 1 156 7 13 171

样例输出

5
999999998
619

说明

  • 对于第一组数据,将 aa 重排为 {4,3,1}\{4,3,1\} 时,和式为 ((4+2)mod6)+((3+0)mod6)+((1+1)mod6)=0+3+2=5((4+2)\bmod6)+((3+0)\bmod6)+((1+1)\bmod6)=0+3+2=5,为最小值。
  • 数据保证所有输入均为整数。

评测数据规模

  • 1T1051 \le T \le 10^5
  • 1n3×1051 \le n \le 3\times 10^5,且所有测试数据的 nn 之和不超过 3×1053\times 10^5
  • 1m1091 \le m \le 10^9
  • 0ai,bi<m0 \le a_i, b_i < m