#include <bits/stdc++.h>
using namespace std;
int a[100100], b[100100];
int n, x;
multiset<int> st;
multiset<int>::iterator it;
int main() {
  scanf("%d%d", &n, &x);
  for (int i = 0; i < n; i++) scanf("%d", a + i);
  for (int i = 0; i < n; i++) {
    int w;
    scanf("%d", &w);
    st.insert(w);
  }
  sort(a, a + n);
  reverse(a, a + n);
  int res = 1;
  for (int i = 0; i < n; i++) {
    int w = x - a[i];
    it = st.lower_bound(w);
    if (it != st.end()) {
      st.erase(it);
      res = i + 1;
    }
  }
  printf("1 %d", res);
}
