// KKGyak.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
using namespace std;
#include <iostream>
#include <map>
#include <set>
#include <unordered_set>
#include <vector>
#include <algorithm>
#include <unordered_map>
int main()
{
int n, maxL;
cin >> n >> maxL;
vector<int> sortedVec(n);
for (size_t i = 0; i < n; i++)
{
cin >> sortedVec[i];
}
sort(sortedVec.begin(), sortedVec.end());
int res = 0;
for (size_t i = 0; i < sortedVec.size()-1;)
{
if (sortedVec[i+1] + sortedVec[i] <= maxL) {
res++;
i += 2;
}
else {
res++;
i++;
}
if (i == sortedVec.size() - 1) res++;
}
cout << res;
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file