#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")