#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> a(n);
  multiset<int> st;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    st.insert(x);
  }
  sort(a.begin(), a.end());
  cout << "1 ";
  for (int i = 0; i < n; i++) {
    set<int>::iterator it = st.lower_bound(k - a[i]);
    if (it != st.end()) st.erase(it);
  }
  cout << n - st.size() << endl;
  return 0;
}
