#include <bits/stdc++.h>
using namespace std;
int a[100005], b[100005], c[100005];
stack<int> s;
queue<int> q;
int main() {
  int n, m, cnt = 0, k;
  cin >> n >> m;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &k);
    ++a[k];
  }
  for (int i = 0; i < n; ++i) {
    scanf("%d", &k);
    ++b[k];
  }
  for (int i = 0; i < m; ++i) {
    while (a[i]) s.push(i), --a[i];
    k = m - i - 1;
    while (b[k]) {
      if (!s.empty()) {
        c[cnt++] = k + s.top();
        s.pop();
      } else
        q.push(k);
      --b[k];
    }
  }
  while (!s.empty()) {
    c[cnt++] = (s.top() + q.front()) % m;
    s.pop();
    q.pop();
  }
  sort(c, c + n);
  for (int i = n - 1; i >= 0; --i) printf("%d ", c[i]);
  puts("");
  return 0;
}
