#include<bits/stdc++.h>
using namespace std;

int main()
{
	int N, X;
	cin >> N >> X;

	vector<int> A(N);
	for (int i = 0; i < N; i++) cin >> A[i];

	sort(A.begin(), A.end());

	int ret = 1;
	for (int i = 0; i < N; i++) {
		if (A[i] + A[i] > X) continue;

		int lo = i, hi = N;
		while (hi - lo > 1) {
			int mi = (lo + hi) / 2;
			if (A[i] + A[mi] <= X)
				lo = mi;
			else
				hi = mi;
		}

		// S = { 0, 1, \dots i }

		ret = max(ret, i + 1 + (lo > i));
	}
	cout << ret << endl;
	return 0;
}
