// I AM A MUSLIM
#include "bits/stdc++.h"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define fast_io std::ios::sync_with_stdio(0);std::cin.tie(0)
#define lli long long int
#define flush fflush(stdout)
#define line printf("\n")
#define yn(a, b) printf("%s\n", (a) >= (b) ? "Yes":"No")
#define amodm(a, M) (((a)%M+M)%M)
#define read(s) std::string s;std::cin >> s
#define readL(s) std::string s;getline(std::cin, s)
#define write(s) printf("%s\n", s.c_str())
// #define int lli
using pii = std::pair<int,int>;
const int MOD = 1000000007;
const int mxN = 500100;
signed main() {
int testCases=1;
scanf("%d",&testCases);
for (int TC = 1; TC <= testCases; TC++) {
int n, m;
scanf("%d%d",&n,&m);
std::vector<int> a(n); for (auto &i : a) scanf("%d",&i);
// sort(a.begin(), a.end());
std::multiset<int> b;
for (int i = 0, v; i < n; i++) {
scanf("%d",&v);
b.insert(v);
}
lli ans = 0;
for (auto &i : a) {
int j = m-i;
auto it = b.lower_bound(j);
if (it == b.end()) {
it = b.begin();
}
ans += (i+*it)%m;
b.erase(it);
}
printf("%lld\n", ans);
}
return 0;
}