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