#include <bits/stdc++.h>
#include <csetjmp>
#include <vector>
using namespace std;
//buff
bool up(pair<int, int>& a, pair<int, int>& b) {
return a.first < b.first;
}
//debuff
bool down(pair<int, int>& a, pair<int, int>& b) {
return a.second > b.second;
}
int main() {
int n;
cin >> n;
int ans, pns;
for (int i = 0; i < n; i++) {
int palce;
long long m;
cin >> palce >> m;
vector<pair<int, int>> vup;
vector<pair<int, int>> vdown;
for (int j = 0; j < palce; j++) {
cin >> ans >> pns;
if (ans > pns) {
vdown.push_back(make_pair(ans, pns));//debuff
} else {
vup.push_back(make_pair(ans, pns));//buff
}
}
sort(vup.begin(), vup.end(), up);
sort(vdown.begin(), vdown.end(), down);
for (auto [a1, b1] : vup) {
if (m <= a1) {
cout << "No" << '\n';
m -= (long long)a1;
break;
}
m += (long long)b1 - a1;
}
if (m > 0) {
for (auto [a1, b1] : vdown) {
if (m <= a1) {
cout << "No" << '\n';
m -= (long long)a1;
break;
}
m += (long long)b1 - a1;
}
}
if (m > 0) {
cout << "Yes" << endl;
}
}
}
// 64 位输出请用 printf("%lld")