#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define nmax 1000007
long long n;
long long k;
vector<long long> h;
vector<long long> g;
long long answer = 0;
void dfs(long long i, long long sus)
{
if (sus >= k) answer++;
for (int j = i + 1; j < n; j++)
{
if (h[j] >= h[i]) dfs(j, sus + g[j]);
}
}
signed main()
{
cin.tie(0) -> sync_with_stdio(0);
freopen("gdream.inp", "r", stdin);
freopen("gdream.out", "w", stdout);
cin >> n >> k;
h.resize(n);
g.resize(n);
for (long long i = 0; i < n; i++)
{
cin >> h[i] >> g[i];
}
for (long long i = 0; i < n; i++)
{
dfs(i, g[i]);
}
cout << answer << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbm1heCAxMDAwMDA3CmxvbmcgbG9uZyBuOwpsb25nIGxvbmcgazsKdmVjdG9yPGxvbmcgbG9uZz4gaDsKdmVjdG9yPGxvbmcgbG9uZz4gZzsKbG9uZyBsb25nIGFuc3dlciA9IDA7CnZvaWQgZGZzKGxvbmcgbG9uZyBpLCBsb25nIGxvbmcgc3VzKQp7CiAgICBpZiAoc3VzID49IGspIGFuc3dlcisrOwogICAgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgbjsgaisrKQogICAgewogICAgICAgIGlmIChoW2pdID49IGhbaV0pIGRmcyhqLCBzdXMgKyBnW2pdKTsKICAgIH0KfQpzaWduZWQgbWFpbigpCnsKICAgIGNpbi50aWUoMCkgLT4gc3luY193aXRoX3N0ZGlvKDApOwogICAgZnJlb3BlbigiZ2RyZWFtLmlucCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3BlbigiZ2RyZWFtLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBoLnJlc2l6ZShuKTsKICAgIGcucmVzaXplKG4pOwogICAgZm9yIChsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IGhbaV0gPj4gZ1tpXTsKICAgIH0KICAgIGZvciAobG9uZyBsb25nIGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGRmcyhpLCBnW2ldKTsKICAgIH0KICAgIGNvdXQgPDwgYW5zd2VyIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==