#include <iostream>
#include <cstdlib>
using namespace std;
int compare(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
int main() {
int n, d;
cin >> n >> d;
int* m = new int[n];
for (int i = 0; i < n; i++) {
int in;
cin >> in;
m[i] = in;
}
qsort(m, n, sizeof(int), compare);
int boats = 0;
int stop = 0;
for (int i = n - 1; i >= stop; i--) {
if (m[i] + m[stop] <= d) {
boats++;
stop++;
}
else {
boats++;
}
}
cout << boats;
delete[] m;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBjb21wYXJlKGNvbnN0IHZvaWQqIGEsIGNvbnN0IHZvaWQqIGIpIHsKCXJldHVybiAoKihpbnQqKWEgLSAqKGludCopYik7Cn0KCmludCBtYWluKCkgewoJaW50IG4sIGQ7CgljaW4gPj4gbiA+PiBkOwoJaW50KiBtID0gbmV3IGludFtuXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJaW50IGluOwoJCWNpbiA+PiBpbjsKCQltW2ldID0gaW47Cgl9Cglxc29ydChtLCBuLCBzaXplb2YoaW50KSwgY29tcGFyZSk7CglpbnQgYm9hdHMgPSAwOwoJaW50IHN0b3AgPSAwOwoJZm9yIChpbnQgaSA9IG4gLSAxOyBpID49IHN0b3A7IGktLSkgewoJCWlmIChtW2ldICsgbVtzdG9wXSA8PSBkKSB7CgkJCWJvYXRzKys7CgkJCXN0b3ArKzsKCQl9CgkJZWxzZSB7CgkJCWJvYXRzKys7CgkJfQoJfQoJY291dCA8PCBib2F0czsKCWRlbGV0ZVtdIG07Cn0K