题目描述
小W当前有一个正整数m和两个长度相等的序列:a = [a1, a2.... an] 和 b = [b1,b2....bn]。
现在,我们可以选择一个非负整数x,然后把所有的ai都加上x以后再模m(也就是我们要把ai变成((ai + x)mod m)。接下来,我们可以重新排列a序列,如果可以让a序列变成b序列,就是一次成功的变换。
这样的x有很多,我们需要找出最小的x。
例如,如果m = 3; a = [0, 0, 2, 1]; b = [2, 0, 1, 1],那么我们可以选择x = 1,这样a序列就变成
了[1,1, 0, 2],重排以后就可以变成b序列了。
输入格式
输入的第一行是两个正整数n和m,表示序列的长度和要模的数。
接下来一行有n个非负整数,表示a1,a2...... an。
接下来一行有n个非负整数,表示b1, b2...... bn。
输出格式
输出最小的非负整数x,使得a序列能够成功变成b序列。
数据保证一定存在这样的非负整数
样例数据1
input
4 3
0 0 2 1
2 0 1 1
output
1
样例数据2
input
3 2
0 0 0
1 1 1
output
1
样例数据3
input
5 10
0 0 0 1 2
2 1 0 0 0
output
0
只要加0就可以,因为其实只要直接重排就可以了。
数据范围
70%的数据,1 ≤ n ≤ 100; 1 ≤ m ≤ 100; 0 ≤ ai,bi < m。
100%的数据,1 ≤ n ≤ 2000; 1 ≤ m ≤ 10^9; 0 ≤ ai,bi < m。