#include <bits/stdc++.h>
using namespace std;
#define task "SKYTRAM"
const int MAXN = 1e6 + 7;
int N, S;
int A[MAXN];
void Input()
{
cin >> N >> S;
for(int i = 1; i <= N; i++)
cin >> A[i];
sort(A + 1, A + 1 + N);
}
void Output()
{
int ans = 0;
int l = 1, r = N;
while(l <= r)
{
++ans;
if(A[l] + A[r] <= S)
{
l++;
r--;
continue ;
}
r--;
continue ;
}
cout << ans;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
Input();
Output();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIHRhc2sgIlNLWVRSQU0iCmNvbnN0IGludCBNQVhOID0gMWU2ICsgNzsKaW50IE4sIFM7CmludCBBW01BWE5dOwp2b2lkIElucHV0KCkKewogICAgY2luID4+IE4gPj4gUzsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKQogICAgICAgIGNpbiA+PiBBW2ldOwogICAgc29ydChBICsgMSwgQSArIDEgKyBOKTsKfQp2b2lkIE91dHB1dCgpCnsKICAgIGludCBhbnMgPSAwOwogICAgaW50IGwgPSAxLCByID0gTjsKICAgIHdoaWxlKGwgPD0gcikKICAgIHsKICAgICAgICArK2FuczsKICAgICAgICBpZihBW2xdICsgQVtyXSA8PSBTKQogICAgICAgIHsKICAgICAgICAgICAgbCsrOwogICAgICAgICAgICByLS07CiAgICAgICAgICAgIGNvbnRpbnVlIDsKICAgICAgICB9CiAgICAgICAgci0tOwogICAgICAgIGNvbnRpbnVlIDsKICAgIH0KICAgIGNvdXQgPDwgYW5zOwp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgZnJlb3Blbih0YXNrIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgSW5wdXQoKTsKICAgIE91dHB1dCgpOwogICAgcmV0dXJuIDA7Cn0K