#include<bits/stdc++.h>
using namespace std;
bool compare(pair<int,int> a, pair<int,int> b)
{
    return (a.first < b.first);
}
int main()
{
    int n,m,x,y;
    cin >> n >> m;
    vector<pair<int, int> >  vect;
    for(int i=0;i<n;i++)
    {cin >> x >> y;
    vect.push_back({x,y});}
    sort(vect.begin(),vect.end(),compare);
    x = 1;
    vector<int > result;
    for(int i=0;i<n;i++)
    {
       while(x < vect[i].first)
       {
           result.push_back(x);
           x++;
           if(x == m) break;
       }
       if(x == m)break;
       while(x >= vect[i].first and x <= vect[i].second)
       {x++;
       if(x == m) break;}
       if(x == m) break;
    }
    while(x < m)
    {result.push_back(x);x++;}
    cout << result.size() <<endl;
    for(int i=0;i<result.size();i++)
    cout << result[i] <<" ";
}


#include<bits/stdc++.h>
using namespace std;
bool compare(pair<int,int> a, pair<int,int> b)
{
    return (a.first < b.first);
}
int main()
{
    int n,m,x,y;
    cin >> n >> m;
    vector<pair<int, int> >  vect;
    for(int i=0;i<n;i++)
    {cin >> x >> y;
    vect.push_back({x,y});}
    sort(vect.begin(),vect.end(),compare);
    x = 1;
    vector<int > result;
    int i;
    for( i=0;i<n;i++)
    {
       while(x < vect[i].first)
       {
           result.push_back(x);
           x++;
           if(x == m) break;
       }
       if(x == m)break;
       while(x >= vect[i].first and x <= vect[i].second)
       {x++;
       if(x == m) break;}
       if(x == m) break;
    }
    while(i != n and x < m)
    {result.push_back(x);x++;}
    cout << result.size() <<endl;
    for(int i=0;i<result.size();i++)
    cout << result[i] <<" ";
}


#include<bits/stdc++.h>
using namespace std;
bool compare1(pair<int,int> a, pair<int,int> b)
{
    return (a.second > b.second);
}
bool compare(pair<int,int> a, pair<int,int> b)
{
    return (a.first < b.first);
}
int main()
{
    int n,m,x,y;
    cin >> n >> m;
    vector<pair<int, int> >  vect;
    for(int i=0;i<n;i++)
    {cin >> x >> y;
    vect.push_back({x,y});}
    sort(vect.begin(),vect.end(),compare1);
    int maxi = vect[0].second;
    sort(vect.begin(),vect.end(),compare);
    x = 1;
    vector<int > result;
    for(int i=0;i<n;i++)
    {
       while(x < vect[i].first)
       {
           result.push_back(x);
           x++;
           if(x == m) break;
       }
       if(x == m)break;
       while(x >= vect[i].first and x <= vect[i].second)
       {x++;
       if(x == m) break;}
       if(x == m) break;
    }
    while(maxi != m and x < m)
    {result.push_back(x);x++;}
    cout << result.size() <<endl;
    for(int i=0;i<result.size();i++)
    cout << result[i] <<" ";
}


#include<bits/stdc++.h>
using namespace std;
bool compare1(pair<int,int> a, pair<int,int> b)
{
    return (a.second > b.second);
}
bool compare(pair<int,int> a, pair<int,int> b)
{
    return (a.first < b.first);
}
int main()
{
    int n,m,x,y;
    cin >> n >> m;
    vector<pair<int, int> >  vect;
    for(int i=0;i<n;i++)
    {cin >> x >> y;
    vect.push_back({x,y});}
    sort(vect.begin(),vect.end(),compare1);
    int maxi = vect[0].second;
    sort(vect.begin(),vect.end(),compare);
    x = 1;
    vector<int > result;
    for(int i=0;i<n;i++)
    {
       while(x < vect[i].first)
       {
           result.push_back(x);
           x++;
           if(x == m) break;
       }
       if(x == m)break;
       while(x >= vect[i].first and x <= vect[i].second)
       {x++;
       if(x == m) break;}
       if(x == m) break;
    }
    while(maxi != m and x <= m)
    {result.push_back(x);x++;}
    cout << result.size() <<endl;
    for(int i=0;i<result.size();i++)
    cout << result[i] <<" ";
}


#include<bits/stdc++.h>
using namespace std;
bool compare(pair<int,int> a, pair<int,int> b)
{
    return (a.first < b.first);
}
int main()
{
    int n,m,x,y;
    cin >> n >> m;
    vector<pair<int, int> >  vect;
    for(int i=0;i<n;i++)
    {cin >> x >> y;
    vect.push_back({x,y});}
    sort(vect.begin(),vect.end(),compare);
    x = 1;
    vector<int > result;
    int maxi = 0;
    for(int i=0;i<n;i++)
    {
       if(maxi < vect[i].second) maxi = vect[i].second;
       while(x < vect[i].first)
       {
           result.push_back(x);
           x++;
           if(x == m) break;
       }
       if(x == m)break;
       while(x >= vect[i].first and x <= vect[i].second)
       {x++;
       if(x == m) break;}
       if(x == m) break;
    }
    while(maxi != m and x <= m)
    {result.push_back(x);x++;}
    cout << result.size() <<endl;
    for(int i=0;i<result.size();i++)
    cout << result[i] <<" ";
}


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n;
int m;

vector<pair<int,int>> segments;
vector<int> bad;
vector<int> good;

int main(){

    cin>>n;
    cin>>m;

    for(int i=0;i<n;i++){
        segments.push_back({0,0});
        cin>>segments[i].first>>segments[i].second;
    }
    for(int i=0;i<n;i++){
        for(int j=segments[i].first;j<=segments[i].second;j++){
            bad.push_back(j);
        }
    }
    for(int i=1;i<=m;i++){
        if(find(bad.begin(),bad.end(),i)==bad.end()){
            good.push_back(i);
        }

    }
    if(good.size()==0){
        cout<<0<<endl;
    }
    else{
        cout<<good.size()<<endl;
        for(int i=0;i<good.size();i++){
            cout<<good[i]<<endl;
        }
    }

}


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n;
int m;

vector<pair<int,int>> segments;
vector<int> bad;
vector<int> good;

int main(){

    cin>>n;
    cin>>m;

    for(int i=0;i<n;i++){
        segments.push_back({0,0});
        cin>>segments[i].first>>segments[i].second;
    }
    for(int i=0;i<n;i++){
        for(int j=segments[i].first;j<=segments[i].second;j++){
            bad.push_back(j);
        }
    }
    for(int i=1;i<=m;i++){
        if(find(bad.begin(),bad.end(),i)==bad.end()){
            good.push_back(i);
        }

    }
    if(good.size()==0){
        cout<<0;
    }
    else{
        for(int i=0;i<good.size();i++){
            cout<<good.size();
            cout<<good[i];
        }
    }

}


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n;
int m;

vector<pair<int,int>> segments;
vector<int> bad;
vector<int> good;

int main(){

    cin>>n;
    cin>>m;

    for(int i=0;i<n;i++){
        segments.push_back({0,0});
        cin>>segments[i].first>>segments[i].second;
    }
    for(int i=0;i<n;i++){
        for(int j=segments[i].first;j<=segments[i].second;j++){
            bad.push_back(j);
        }
    }
    for(int i=1;i<=m;i++){
        if(find(bad.begin(),bad.end(),i)==bad.end()){
            good.push_back(i);
        }

    }
    if(good.size()==0){
        cout<<0;
    }
    else{
        cout<<good.size();
        for(int i=0;i<good.size();i++){
            cout<<good[i];
        }
    }

}


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n;
int m;

vector<pair<int,int>> segments;
vector<int> bad;
vector<int> good;

int main(){

    cin>>n;
    cin>>m;

    for(int i=0;i<n;i++){
        segments.push_back({0,0});
        cin>>segments[i].first>>segments[i].second;
    }
    for(int i=0;i<n;i++){
        for(int j=segments[i].first;j<=segments[i].second;j++){
            bad.push_back(j);
        }
    }
    for(int i=1;i<=m;i++){
        if(find(bad.begin(),bad.end(),i)==bad.end()){
            good.push_back(i);
        }

    }
    if(good.size()==0){
        cout<<0;
    }
    else{
        for(int i=0;i<good.size();i++){
            cout<<good[i];
        }
    }

}


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int n;
int m;

vector<pair<int,int>> segments;
vector<int> bad;
vector<int> good;

int main(){

    cin>>n;
    cin>>m;

    for(int i=0;i<n;i++){
        segments.push_back({0,0});
        cin>>segments[i].first>>segments[i].second;
    }
    for(int i=0;i<n;i++){
        for(int j=segments[i].first;j<=segments[i].second;j++){
            bad.push_back(j);
        }
    }
    for(int i=1;i<=m;i++){
        if(find(bad.begin(),bad.end(),i)==bad.end()){
            good.push_back(i);
        }

    }
    if(good.size()==0){
        cout<<0<<endl;
    }
    else{
        cout<<good.size();
        for(int i=0;i<good.size();i++){
            cout<<good[i]<<endl;
        }
    }

}


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,j,k=0,l,r,n,m;
    cin>>n>>m;
    int a[100],b[m]={0};
    for(i=0;i<n;i++)
    {
        cin>>l>>r;
        for(j=l;j<=r;j++)
            b[j]++;
    }
          for(i=1;i<m;i++)
      {
          if(b[i]==0)k++;
      }
      cout<<k<<endl;
      for(i=1;i<m;i++)
      {
          if(b[i]==0)cout<<i<<" ";
      }
}


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,j,k,l,r,n,m;
    cin>>n>>m;
    int a[100],b[m]={0};
    for(i=0;i<n;i++)
    {
        cin>>l>>r;
        for(j=l;j<=r;j++)
            b[j]++;
    }
      for(i=1;i<=m;i++)
      {
          if(b[i]==0)cout<<i<<" ";
      }
}


#include<bits/stdc++.h>
using namespace std;
int f(int n,int m)
{
   int l[200],r[200],vis[200]={0},f=0;
   vector<int>v;
   for(int i=0;i<n;i++)
      cin>>l[i]>>r[i];
   for(int i=0;i<n;i++)
   {
   for(int j=0;j<m;j++)
   {
      //cout<<l[i]<<" "<<r[i];
      if(j>=l[i]&&r[i]>=j)
        vis[j]=1;
   }
  // cout<<"\n";
   }
   for(int i=0;i<m;i++)
   {
       if(vis[i]==0)
         {
            f=1;
            v.push_back(i);
          //  cout<<i<<" ";
         }
   }
   if(f==0)
      cout<<"0\n\n";
      else
      {
         cout<<v.size()<<endl;
         for(int i=0;i<v.size();i++) cout<<v[i]<<" ";
         cout<<endl;
      }
}
int main()
{
    int m,n;
    while(cin>>n>>m)
    {
       f(n,m);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int f(int n,int m)
{
   int l[200],r[200],vis[200]={0},f=0;
   vector<int>v;
   for(int i=1;i<=n;i++)
      cin>>l[i]>>r[i];
   for(int i=1;i<=n;i++)
   {
   for(int j=1;j<=m;j++)
   {
      //cout<<l[i]<<" "<<r[i];
      if(j>=l[i]&&r[i]>=j)
        vis[j]=1;
   }
  // cout<<"\n";
   }
   for(int i=1;i<=m;i++)
   {
       if(vis[i]==0)
         {
            f=1;
            v.push_back(i);
          //  cout<<i<<" ";
         }
   }
   if(f==0)
      cout<<"0\n";
      else
      {
         cout<<v.size()<<endl;
         for(int i=0;i<v.size();i++) cout<<v[i]<<" ";
         cout<<endl;
      }
}
int main()
{
    int m,n;
    while(cin>>n>>m)
    {
       f(n,m);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
void f(int n,int m)
{
   int l[m],r[m],vis[200]={0},f=0;
   vector<int>v;
   for(int i=1;i<=n;i++)
      cin>>l[i]>>r[i];
   for(int i=1;i<=n;i++)
   {
   for(int j=1;j<=m;j++)
   {
      //cout<<l[i]<<" "<<r[i];
      if(j>=l[i]&&r[i]>=j)
        vis[j]=1;
   }
  // cout<<"\n";
   }
   for(int i=1;i<=m;i++)
   {
       if(vis[i]==0)
         {
            f=1;
            v.push_back(i);
          //  cout<<i<<" ";
         }
   }
   if(f==0)
      cout<<"0\n\n";
      else
      {
         cout<<v.size()<<endl;
         for(int i=0;i<v.size();i++) cout<<v[i]<<" ";
         cout<<endl;
      }
}
int main()
{
    int m,n;
    while(cin>>n>>m)
    {
       f(n,m);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int f(int n,int m)
{
   int l[200],r[200],vis[200]={0},f=0;
   vector<int>v;
   for(int i=1;i<=n;i++)
      cin>>l[i]>>r[i];
   for(int i=1;i<=n;i++)
   {
   for(int j=1;j<=m;j++)
   {
      //cout<<l[i]<<" "<<r[i];
      if(j>=l[i]&&r[i]>=j)
        vis[j]=1;
   }
  // cout<<"\n";
   }
   for(int i=1;i<=m;i++)
   {
       if(vis[i]==0)
         {
            f=1;
            v.push_back(i);
          //  cout<<i<<" ";
         }
   }
   if(f==0)
      cout<<"0\n\n";
      else
      {
         cout<<v.size()<<endl;
         for(int i=0;i<v.size();i++) cout<<v[i]<<" ";
         cout<<endl;
      }
}
int main()
{
    int m,n;
    while(cin>>n>>m)
    {
       f(n,m);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
long long a,b,c,e[200000],mix,l,r,o,d[200000];
vector<long long> v[100000],v1;
set<long long> st;
map<long long,long long> mp,mp1;
string s;
pair<int,int> p[100000],p1[100000];
char ch[10];
deque <char> dq;
int main(){
    cin>>a>>b;
    for(int i = 0; i < a; i++){
       cin>>l>>c;
        for(int j = l; j <= c; j++)
            mp[j]++;
    }
    c=0;
    for(int i = 1; i < b; i++){
        if(mp[i]==0) {c++;v1.push_back(i);}
    }
    cout<<c<<endl;
    for(int i = 0; i < v1.size(); i++){
        cout<<v1[i]<<" ";
    }
}


#include<bits/stdc++.h>
using namespace std;
long long a,b,c,e[200000],mix,l,r,o,d[200000];
vector<long long> v[100000],v1;
set<long long> st;
map<long long,long long> mp,mp1;
string s;
pair<int,int> p[100000],p1[100000];
char ch[10];
deque <char> dq;
int main(){
    cin>>a>>b;
    for(int i = 0; i < a; i++){
       cin>>l>>c;
        for(int j = l; j <= c; j++)
            mp[j]++;
    }
    c=0;
    for(int i = 1; i <= b; i++){
        if(mp[i]==0) {c++;v1.push_back(i);}
    }
    cout<<c<<endl;
    for(int i = 0; i < v1.size(); i++){
        cout<<v1[i]<<" ";
    }
}


#include<bits/stdc++.h>
using namespace std;
long long a,b,c,e[200000],mix,l,r,o,d[200000];
vector<long long> v[100000],v1;
set<long long> st;
map<long long,long long> mp,mp1;
string s;
pair<int,int> p[100000],p1[100000];
char ch[10];
deque <char> dq;
int main(){
    cin>>a>>b;
    for(int i = 0; i < a; i++){
       cin>>b>>c;
        for(int j = b; j <= c; j++)
            mp[i]++;
    }
    c=0;
    for(int i = 1; i < b; i++){
        if(mp[i]==0) {c++;v1.push_back(i);}
    }
    cout<<c<<endl;
    for(int i = 0; i < v1.size(); i++){
        cout<<v1[i]<<" ";
    }
}


#include<bits/stdc++.h>
using namespace std;
long long a,b,c,e[200000],mix,l,r,o,d[200000];
vector<long long> v[100000],v1;
set<long long> st;
map<long long,long long> mp,mp1;
string s;
pair<int,int> p[100000],p1[100000];
char ch[10];
deque <char> dq;
int main(){
    cin>>a>>b;
    for(int i = 0; i < a; i++){
       cin>>l>>c;
        for(int j = l; j <= c; j++)
            mp[i]++;
    }
    c=0;
    for(int i = 1; i <= b; i++){
        if(mp[i]==0) {c++;v1.push_back(i);}
    }
    cout<<c<<endl;
    for(int i = 0; i < v1.size(); i++){
        cout<<v1[i]<<" ";
    }
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101]={0};
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<endl;
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101]={0};
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<=m;++i)
		if(wt[i]==0)cout<<i<<endl;
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101]=false;
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		if(wt[j]==0)wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<endl;
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101]={0};
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<" ";
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101];
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		if(wt[j]==0)wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<endl;
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101];
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		if(wt[j]==0)wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<" ";
	}
}


#include<iostream>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bool wt[101]={0};
	for(int i=0;i<n;++i)
	{
		int x,y;
		cin>>x>>y;
		for(int j=x;j<=y;++j)
		if(wt[j]==0)wt[j]=1;
	}
	int ans(0);
	for(int i=1;i<=m;++i)
	if(wt[i]==0)++ans;
	if(ans==0)
	cout<<"0"<<endl;
	else
	{
		cout<<ans<<endl;
		for(int i=1;i<m;++i)
		if(wt[i]==0)cout<<i<<endl;
	}
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,m;
	cin >> n >> m;
	int ar[m];
	for(int i=1;i<=m;i++)
		ar[i]=0;
	while(n--)
	{
		int a,b;
		cin >> a >> b;
		for(int i=a;i<=b;i++)
			ar[i]=1;
	}
	int flag=0;
	for(int i=1;i<=m;i++)
	{
		if(ar[i]==0)
		{
			cout << i << " " ;
			flag=1;
		}
	}
	if(flag==0)
		cout << 0 << endl;
	cout << endl;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,m;
	cin >> n >> m;
	int ar[m];
	for(int i=1;i<=m;i++)
		ar[i]=0;
	while(n--)
	{
		int a,b;
		cin >> a >> b;
		for(int i=a;i<=b;i++)
			ar[i]=1;
	}
	int flag=0;
	int count=0;
//	std::vector<int> v;
	for(int i=1;i<=m;i++)
	{
		if(ar[i]==0)
		{
			count ++ ;
			ar[i]=2;
			flag=1;
		}
	}
	cout << count << endl;
	for(int i=1;i<m;i++)
	{
		if(ar[i]==2)
			cout << i << " " ;
	}
	cout << endl;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,m;
	cin >> n >> m;
	int ar[m];
	for(int i=1;i<=m;i++)
		ar[i]=0;
	while(n--)
	{
		int a,b;
		cin >> a >> b;
		for(int i=a;i<=b;i++)
			ar[i]=1;
	}
	int flag=0;
	for(int i=1;i<=m;i++)
	{
		if(ar[i]==0)
		{
			cout << i << " " ;
			flag=1;
		}
	}
	if(flag==0)
		cout << 0;
	cout << endl;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n,m;
	cin >> n >> m;
	int ar[m];
	for(int i=1;i<=m;i++)
		ar[i]=0;
	while(n--)
	{
		int a,b;
		cin >> a >> b;
		for(int i=a;i<=b;i++)
			ar[i]=1;
	}
	int flag=0;
	int count=0;
//	std::vector<int> v;
	for(int i=1;i<=m;i++)
	{
		if(ar[i]==0)
		{
			count ++ ;
			ar[i]=2;
			flag=1;
		}
	}
	cout << count << endl;
	for(int i=1;i<=m;i++)
	{
		if(ar[i]==2)
			cout << i << " " ;
	}
	cout << endl;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r+1){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=a[i].r;
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d",t);
    if(t!=0){
            printf("\n");
        for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=1;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=a[i].r;
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d\n",t);
    for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r+1){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=a[i].r;
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d\n",t);
    if(t!=0){
        for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r+1){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=a[i].r;
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d\n",t);
    for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r+1){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=max(a[i].r,r);
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d",t);
    if(t!=0){
            printf("\n");
        for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
struct node
{
    int l,r;
    bool operator<(const node&aa)const
    {
        return aa.l>l;
    }
}a[110];
int ans[110];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i].l,&a[i].r);
    }
    sort(a+1,a+n+1);
    int t=0,r=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i].l>r){
            for(int j=r+1;j<a[i].l;j++)
                ans[++t]=j;
        }
            r=a[i].r;
    }
    if(m>r)
        {
            for(int i=r+1;i<=m;i++)
                ans[++t]=i;
        }
    printf("%d\n",t);
    for(int i=1;i<=t;i++)
        printf("%d ",ans[i]);
    printf("\n");
    return 0;
}


#include<bits/stdc++.h>

using namespace std;

int main()
{
int n,m;

cin>>n>>m;

bool a[101];

memset(a,false,sizeof(a));

for(int  i  = 0;i < n;++i)
{
int q,b;

cin>>q>>b;

for(int j = q; j <= b;++j)
    a[j] = true;

}

int c = 0;
for(int j = 0 ; j < 101;++j)
if(!a[j])
c++;

cout<<c<<"\n";

for(int i = 0 ;i <n;++i)
{
if(!a[i])
cout<<i<<" ";

}

}


#include<bits/stdc++.h>

using namespace std;

int main()
{
int n,m;

cin>>n>>m;

bool a[m];

memset(a,false,sizeof(a));

for(int  i  = 0;i < n;++i)
{
int q,b;

cin>>q>>b;

for(int j = q; j <= b;++j)
    a[j] = true;

}

int c = 0;
for(int j = 1 ; j < m;++j)
if(!a[j])
c++;

cout<<c<<"\n";

for(int i = 1 ;i <m;++i)
{
if(!a[i])
cout<<i<<" ";

}

}


#include<bits/stdc++.h>

using namespace std;

struct s{

int l,r;
};
int comp(const void *a,const void*b)
{
s *p = (s*)a;
s *q = (s*)b;

return (*p).l-(*q).l;

}

int main()
{
int n,m;
cin>>n>>m;

int c = 0;

s a[n];
int t =0;
while(t<n)
{
cin>>a[t].l>>a[t].r;
++t;
}

qsort(a,n,sizeof(s),comp);

set<int> w;

for(int i = 0 ; i < n-1;++i)
{
    for(int j = a[i].r+1;j < a[i+1].l;++j)
    {
		++c;
		w.insert(j);
}

}
cout<<c<<"\n";

for(auto i :w)
cout<<i<<" ";
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
	  }else if(a+b == n+m){
	  	  if(abs(a-b)>n) {
	  	  	cout << "No" << endl;
	  	  	continue;
		  }
	  }else {
	  	   if(abs(a-b)>n) {
	  	   	    if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
				}
			}
	  }
	  cout << "Yes" << endl;
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
	  }else if(a+b == n+m){
	  	  if(abs(a-b)>n) {
	  	  	cout << "No" << endl;
	  	  	continue;
		  }
		  if(max(a,b) < n) {
		  	cout << "No" << endl;
		  	continue;
		  }
	  }else {
	  	   if(abs(a-b)>=n) {
	  	   	    if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
				}
			}else {
				if(min(a,b)+n-abs(a-b) < m) {
					 cout << "No" << endl;
						continue;
				}
			}
			if(max(a,b) < n) {
				cout << "No" << endl;
				continue;
			}
	  }
	  cout << "Yes" << endl;
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
		  }
	  	   	if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
		    }
		cout << "Yes" << endl;
	  }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
	  }else if(a+b == n+m){
	  	  if(abs(a-b)>n) {
	  	  	cout << "No" << endl;
	  	  	continue;
		  }
	  }else {
	  	   if(abs(a-b)>=n) {
	  	   	    if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
				}
			}else {
				if(min(a+b)+n-abs(a-b) < m) {
					 cout << "No" << endl;
						continue;
				}
			}
	  }
	  cout << "Yes" << endl;
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
		  }
	  	   	if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
		    }
		cout << "Yes" << endl;
	  }
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
	  }else if(a+b == n+m){
	  	  if(abs(a-b)>n) {
	  	  	cout << "No" << endl;
	  	  	continue;
		  }
	  }else {
	  	   if(abs(a-b)>=n) {
	  	   	    if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
				}
			}else {
				if(min(a,b)+n-abs(a-b) < m) {
					 cout << "No" << endl;
						continue;
				}
			}
	  }
	  cout << "Yes" << endl;
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    int t;
    cin >> t;
    while(t--) {
      ll a,b,n,m;
      cin >> a >> b >> n >> m;
      if(a+b < n+m) {
          cout << "No" << endl;
		  continue;
	  }else if(a+b == n+m){
	  	  if(abs(a-b)>=n) {
	  	  	cout << "No" << endl;
	  	  	continue;
		  }
	  }else {
	  	   if(abs(a-b)>=n) {
	  	   	    if(min(a,b) < m) {
	  	   	       cout << "No" << endl;
						continue;
				}
			}
	  }
	  cout << "Yes" << endl;
   }
	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else
  	{
  		if(m <= min(a,b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else
  	{
  		if(a == 0 || b == 0)
  		{
  			cout<<"NO"<<endl;
  		}
  		else
  		{
  			cout<<"YES"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else
  	{
  		int mx = max(a,b),mn = min(a,b),dif = abs(a - b);
  		if(n <= mn+dif && m <= mn)
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else if((a + b) == (n + m))
  	{
  		if(n <= max(a,b) && m <= min(a,b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  	else
  	{
  		if(a == 0 || b == 0)
  		{
  			cout<<"NO"<<endl;
  		}
  		else
  		{
  			cout<<"YES"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else
  	{
  		if(n <= max(a,b) && m <= min(a,b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else if((a + b) == (n + m))
  	{
  		if(abs(n-m) >= abs(a-b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  	else
  	{
  		if(n <= max(a,b) && m <= min(a,b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((n + m) <= (a + b) && m <= min(a,b))
  	{
  		cout<<"YES"<<endl;
  	}
  	else
  	{
  		cout<<"NO"<<endl;
  	}
  }
  return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

void c_p_c()
{
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
#endif
}

int32_t main()
{
  c_p_c();
  int tc;
  cin >> tc;
  while(tc--)
  {
  	int a,b,n,m;
  	cin >> a >> b >> n >> m;
  	if((a + b) < (n + m))
  	{
  		cout<<"NO"<<endl;
  	}
  	else
  	{
  		if(n <= max(a,b) && n <= min(a,b) && m <= min(a,b) && m <= max(a,b))
  		{
  			cout<<"YES"<<endl;
  		}
  		else
  		{
  			cout<<"NO"<<endl;
  		}
  	}
  }
  return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		t1 = 0;
	}
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 < 0){
		t1 = 0;
	}
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(a > b){
		ll diff = diff;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	cin >> a >> b >> t1 >> t2;
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){

     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == b && a > 0){
		if(t2 > a)
			return false;
		return true;
	}
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		t1 = 0;
	}
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	cin >> a >> b >> t1 >> t2;
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){

     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
		else{
			if(t1 > a + b)
				return false;
			else
				return true;
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 <= 0){
		if(t2 > a)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 <= 0){
		ll mini = min(a+abs(t1),b+abs(t1));
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 <= 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(a <= 0 || b <= 0){
		if(t2 > 0)
			return false;
		if(t1 <= 0 && (a >= 0 && b >= 0))
			return true;
		if(t1 > 0){
			if(t1 <= a + b)
				return true;
			return false;
		}
	}

	if(t1 + t2 > a + b)
		return false;
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a > b){	//That means there was not enough t1
		if(t2 > b)
			return false;
		else
			return true;
	}
	//else a = b
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == b && a > 0){
		if(t2 > a)
			return false;
		return true;
	}
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 < 0){
		t1 = 0;
	}
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
		else{
			if(t1 > a + b)
				return false;
			else
				return true;
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 <= 0){
		if(t2 > a)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		return true;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 <= 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(a <= 0 || b <= 0){
		if(t2 > 0)
			return false;
		if(t1 <= 0 && (a >= 0 && b >= 0))
			return true;
		if(t1 > 0){
			if(t1 <= a + b)
				return true;
			return false;
		}
	}

	if(t1 + t2 > a + b)
		return false;
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0)
			return false;
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}

	if(t1 + t2 > a + b)
		return false;
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	if(t1 <= 0){
		if(t2 > a)
			return false;
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b)
			return false;
		return true;
	}
	if(t2 <= a)
		return true;
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	// if(a == 0 && b == 0 && t1 == 0 && t2 == 0){
	// 	return true;
	// }
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= diff;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= diff;
		t1 -= diff;
	}
	if(t1 < 0){
		a += abs(t1);
		t1 = 0;
	}
	if(a > b){	//That means there was not enough t1
		if(t2 > b){
			return false;
		}
		else{
			return true;
		}
	}
	//else a = b and t1 >= 0
	if(t1 + t2 > a + b){
		return false;
	}
	//Now a = b > 0
	if(t1 == 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		if(t1 <= a + b - t2)
			return true;
		return false;
	}
	else
		return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include <bits/stdc++.h>
using namespace std;
# define ll  long long int
# define ld  long double
# define pb push_back
# define pp pop_back
# define ff first
# define ss second
# define mp make_pair
# define ac accumulate
# define mod 1000000007
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll a,b,t1,t2;
bool solve(){
	if(a == 0 || b == 0){
		if(t2 > 0){
			return false;
		}
		else{	//t2 == 0
			if(t1 > a + b){
				return false;
			}
			else{
				return true;
			}
		}
	}
	if(t1 == 0){
		ll mini = min(a,b);
		if(t2 > mini){
			return false;
		}
		return true;
	}
	if(t2 == 0){
		if(t1 > a + b){
			return false;
		}
		return true;
	}

	if(t1 + t2 > a + b){
		return false;
	}
	//Now we will make a = b
	if(a > b){
		ll diff = a-b;
		a -= b;
		t1 -= diff;
	}
	else if(a < b){
		ll diff = b-a;
		b -= a;
		t1 -= diff;
	}
	//Now a = b > 0
	if(t1 <= 0){
		if(t2 > a){
			return false;
		}
		return true;
	}
	if(t2 <= a){
		return true;
	}
	return false;
}

int  main()
{
    #ifndef ONLINE_JUDGE
       freopen("input.txt", "r", stdin);
       freopen("output.txt", "w", stdout);
    #endif
     IOS;
     int t;
     cin >> t;
     while(t--){
     	cin >> a >> b >> t1 >> t2;
     	bool ans = solve();
     	if(ans)
     		cout << "Yes\n";
     	else
     		cout << "No\n";
     }
     return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long int

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(n<abs(a-b))
				cout<<"NO\n";
			else
				cout<<"YES\n";
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(m<max(a,b)-min(a,b))
				cout<<"NO\n";
			else{
				if(m<=n-(max(a,b)-min(a,b)))
				cout<<"YES\n";
				else
				cout<<"NO\n";}
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else cout<<"NO\n";

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(n<abs(a-b))
				cout<<"NO\n";
			else
				cout<<"YES\n";
		}

	}
    return 0;
}


// let's play again

#include<bits/stdc++.h>

using namespace std;

#define fastest ios_base::sync_with_stdio(false); cin.tie(NULL);

template<typename...T>void print(T &&...args) {((cout << args << endl),...);}

template<typename...T>void input(T &...args) {((cin >> args), ...);}

// Some required essentials

#define int long long

#define endl '\n'

#define debug(xyz) cout<<"~~"<<#xyz<<" => "<<xyz<<endl;

#define S second

#define all(xyz) (xyz).begin(),(xyz).end()

#define pb push_back

#define forr(i,s,e) for(int i=s;i<e;i++)

// for debugging

template<typename...T>void deb(T &&...args) {cout<<"~~ ";((cout<<args<<" "),...);cout<<endl;}

// to print array straight away

void print_arr(int arr[],int nin){

    for(int i=0;i<nin;++i) cout<<arr[i]<<" ";

    cout<<endl;

}

// make pair and all

#define mp make_pair

#define vec_vec vector<vector<int>>

#define ldd long double

#define F first

#define pair_i pair<int,int>

// to sort by sec

bool sortbysec(const pair<int,int> &abc,const pair<int,int> &bca) {

    return abc.second < bca.second;

}

// for vector and vector pair

#define vec_i vector<int>

#define vec_p vector<pair<int,int>>

// to sort in reverse

bool sortinrev(const pair<int,int> &a,const pair<int,int> &b){

    return(a.first>b.first);

}

#define elif else if

void print_vec(vector<int> &vect) {

    for(auto vbvb:vect) cout<<vbvb<<" "; cout<<endl;

}

bool rev(int xyz, int yzx) {

    return xyz > yzx;

}

bool sortinrevbysec(const pair<int,int> &abc,const pair<int,int> &bca){

    return(abc.second>bca.second);

}

// for input of array

void input_arr(int arr[], int nin) {

    for(int ijkl=0; ijkl<nin; ijkl++)
        cin>>arr[ijkl];

}

inline void oper(){

    fastest;

    #ifndef ONLINE_JUDGE

        freopen("input.txt", "r", stdin);

        freopen("output.txt", "w", stdout);

    #endif

}

signed main(){

    oper();

    int tests = 1;

    cin>>tests;

    for(int ijklm=0;ijklm<tests;++ijklm){

int a,b,n,m; input(a,b,n,m);
    if(a+b<n+m){
        print("NO");
        continue;
    }
    if(m<=(min(a,b))){
        print("YES");
    }
    else{
        if(n>abs(a-b)){
            if(m<=min(a,b)-1){
                print("YES");
            }
            else{
                print("NO");
            }
        }
        else if(n==abs(a-b)){
            if(m<=min(a,b)){
                print("YES");
            }
            else{
                print("NO");
            }
        }
        else{
            print("NO");
        }
    }

}return 0;

}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(m<max(a,b)-min(a,b))
				cout<<"NO\n";
			else{
				if(m<=n-(max(a,b)-min(a,b))+1)
				cout<<"YES\n";
				else
				cout<<"NO\n";}
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(n<abs(a-b))
				cout<<"NO\n";
			else
				cout<<"YES\n";
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(n<max(a,b)-min(a,b))
				cout<<"NO\n";
			else
				cout<<"YES\n";
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(n<max(a,b)-min(a,b))
				cout<<"NO\n";
			else
				{
				if(m<max(a,b)-min(a,b))
				cout<<"YES\n";
				else
				cout<<"NO\n";}
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(m<max(a,b)-min(a,b))
				cout<<"NO\n";
			else
				cout<<"YES\n";
		}

	}
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

signed main()
{
	int t1=1;
	cin>>t1;
    while(t1--)
    {
		unsigned long long int a,b,n,m;  cin>>a>>b>>n>>m;
		if(a+b<n+m){cout<<"NO\n";  continue;}
		if(min(a,b)>=m) cout<<"YES\n";
		else {
			if(m<max(a,b)-min(a,b))
				cout<<"YES\n";
			else
				cout<<"NO\n";
		}

	}
    return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a+b<n+m) cout<<"No"<<endl;
else{
if(a<=b){
    if(m<=a && n<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl
}
else if(b<a){
    if(n<=a && m<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}

}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a!=0 && b!=0){
if(a<=b){
    if(m<=a && n<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
else if(b<a){
    if(n<=a && m<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}
else{
    cout<<"No"<<endl;
}
}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a!=0 && b!=0){
if(n+m<=a+b) cout<<"Yes"<<endl;
else if(n+m>a+b) cout<<"No"<<endl;
}
else{
    cout<<"No"<<endl;
}
}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a+b<n+m)cout<<"No"<<endl;
else{
if(a<=b){
    if(m<=a && n<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
else if(b<a){
    if(n<=a && m<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}

}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(min(a,b)>= && a+b>=n+m) cout<<"Yes"<<endl;
else{
cout<<"No"<<endl;
}

}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a+b<n+m)cout<<"No"<<endl;
else{
if(a<=b){
    if(m<=a) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
else if(b<a){
    if(m<b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}

}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a!=0 && b!=0){
if(a<=b){
    if(m<=a && n<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl
}
else if(b<a){
    if(n<=a && m<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}
}
else{
    cout<<"No"<<endl;
}
}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(min(a,b)>=m && a+b>=n+m) cout<<"Yes"<<endl;
else{
cout<<"No"<<endl;
}

}
return 0;
}


#include<bits/stdc++.h>
#define SPEED ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define ld long double
#define fi(i,j,n) for(int i=j;i<n;i++)
#define fd(i,j,n) for(int i=j;i>n;i--)
#define debug(n1) cout<<n1<<endl;
#define pb push_back
#define eb emplace_back
#define vi vector<int>
#define mod 1e9+7
using namespace std;
int main(){
    #ifndef ONLINE_JUDGE
        freopen("input.txt","r",stdin);
        freopen("output.txt","w",stdout);
    #endif
SPEED;
int t;
cin>>t;
while(t--){
ll a,b,n,m;
cin>>a>>b>>n>>m;
if(a+b<n+m)cout<<"No"<<endl;
else{
if(a<=b){
    if(m<=a && n<=b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
else if(b<a){
    if(n<=a && m<b) cout<<"Yes"<<endl;

    else cout<<"No"<<endl;
}
}

}
return 0;
}


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if ((a+b)<(n+m)) cout<<"No"<<'\n';
        else if (m>a || n>b) cout<<"No"<<'\n';
        else cout<<"Yes"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        ll cur = a - m;
        ll cur2 = b - n;
        if (cur>=0 && cur2>=0) cout<<"YES"<<'\n';
        else cout<<"NO"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if ((a+b)<=(n+m)) cout<<"No"<<'\n';
        else if (m>a || n>b) cout<<"No"<<'\n';
        else cout<<"Yes"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if ((a+b)<(n+m)) cout<<"No"<<'\n';
        else if (m>b || n>a) cout<<"No"<<'\n';
        else cout<<"Yes"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        ll kk = 0;
        for (int i = 0;i<=1;++i) {
                ll n1 = n;
        ll m1 = m;
        ll a1 = a;
        ll b1 = b;
        if (!i) {
            if (a>=b) {
                    if (n>(a-b)) {a-=n;n = 0;}
            else {ll jj = (a-b);a = b;n-=jj;b-=(n/2)+(n%2);a-=(n/2);n = 0;}
            if (m>(b-a)) {b-=m;m = 0;}
            else {ll jj = (b-a);b = a;m-=jj;b-=(m/2);a-=(m/2)+(m%2);m = 0;}
            if (a>=0 && b>=0) ++kk;
        }
        else {
                a-=m;
        m = 0;
        b-=n;
        n = 0;
        if (a>=0 && b>=0) ++kk;
        }
}
else {
    if (a>=b) {             if (m>(b-a)) {b-=m;m = 0;}
            else {ll jj = (b-a);b = a;m-=jj;b-=(m/2);a-=(m/2)+(m%2);m = 0;}
                    if (n>(a-b)) {a-=n;n = 0;}
            else {ll jj = (a-b);a = b;n-=jj;b-=(n/2)+(n%2);a-=(n/2);n = 0;}
            if (a>=0 && b>=0) ++kk;
        }
        else {
                a-=m;
        m = 0;
        b-=n;
        n = 0;
        if (a>=0 && b>=0) ++kk;
        }
}
a = a1;
b = b1;
n = n1;
m = m1;
        }
if (kk) cout<<"YES"<<'\n';
else cout<<"NO"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        ll kk = 0;
        for (int i = 0;i<=1;++i) {
                ll n1 = n;
        ll m1 = m;
        ll a1 = a;
        ll b1 = b;
        if (!i) {
            if (a>=b) {
                    if (n>(a-b)) {a-=n;n = 0;}
            else {ll jj = (a-b);a = b;n-=jj;b-=(n/2)+(n%2);a-=(n/2);n = 0;}
            if (m>(b-a)) {b-=m;m = 0;}
            else {ll jj = (b-a);b = a;m-=jj;b-=(m/2);a-=(m/2)+(m%2);m = 0;}
            if (a>=0 && b>=0) ++kk;
        }
        else {
                a-=m;
        m = 0;
        b-=n;
        n = 0;
        if (a>=0 && b>=0) ++kk;
        }
}
else {
    if (a>=b) {             if (m>(b-a)) {b-=m;m = 0;}
            else {ll jj = (b-a);b = a;m-=jj;b-=(m/2);a-=(m/2)+(m%2);m = 0;}
                    if (n>(a-b)) {a-=n;n = 0;}
            else {ll jj = (a-b);a = b;n-=jj;b-=(n/2)+(n%2);a-=(n/2);n = 0;}
            if (a>=0 && b>=0) ++kk;
        }
        else {
                a-=m;
        m = 0;
        b-=n;
        n = 0;
        if (a>=0 && b>=0) ++kk;
        }
}
        }
if (kk) cout<<"YES"<<'\n';
else cout<<"NO"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if (a>b) {
            if (m>b || n>a) cout<<"NO"<<'\n';
            else cout<<"YES"<<'\n';
        }
        else {
            if (m>a || n>b) cout<<"NO"<<'\n';
            else cout<<"YES"<<'\n';
        }
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


#pragma GCC optimize("Ofast,no-stack-protector")
#include <bits/stdc++.h>
#include <ext/pb_ds/detail/standard_policies.hpp>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

#define pb push_back
#define F first
#define S second
#define ld long double
#define ll int64_t
#define endl '\n'
#define eb emplace_back
#define pb push_back
#define TIME 1.0*clock()/CLOCKS_PER_SEC
#define pii pair < int32_t , int32_t >
#define Endl '\n'
#define pll pair <ll,ll>
using namespace std;
using namespace __gnu_pbds;
typedef tree <ll,null_type,less <ll>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
mt19937_64 randomizer(chrono::duration_cast<chrono::nanoseconds>(chrono::high_resolution_clock::now().time_since_epoch()).count());
const int mod = 1e9+7;
const int number_for_MO = 1e4+111;
const int size_for_segment_trees = 1e6+1;
const int32_t FFTM = 998244353;
const int32_t N = 50000;
int32_t SX[4] = {0 , 1 , -1 , 0};
int32_t SY[4] = {1 , 0 , 0 , -1};
int32_t main() {
#ifdef CHUCHUNDRA
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
#endif
ll m;
cin>>m;
while (m--) {
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if ((a+b)<(n+m)) cout<<"No"<<'\n';
        else if (min(a,b)<m) cout<<"No"<<'\n';
        else cout<<"Yes"<<'\n';
        }
return 0;
}
/*
Я всё вижу, чучундры! ;=)
*/
/*
Я всё слышу, чучундры! ;=)
*/
/*1234321*/


// Problem : C. A Cookie for You
// Contest : Codeforces - Codeforces Round #654 (Div. 2)
// URL : https://codeforces.com/contest/1371/problem/C
// Memory Limit : 256 MB
// Time Limit : 1000 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)
#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		int a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m > min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		int a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(a > b){
			if(m <= b) cout << "Yes" <<endl;
			else if(m > b and n > a - b) cout << "Yes" << endl;
			else cout << "No" << endl;
		}
		else{
			if(m <= a || (m > a && m > b - a)) cout << "Yes" << endl;
			else cout << "No" << endl;
		}
	}
	return 0;
}


#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		long long  a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m < min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		int a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m < min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		int a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m > min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		long long  a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m > min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


// Problem : C. A Cookie for You
// Contest : Codeforces - Codeforces Round #654 (Div. 2)
// URL : https://codeforces.com/contest/1371/problem/C
// Memory Limit : 256 MB
// Time Limit : 1000 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)
#include<iostream>
using namespace std;
int main(){
	int _;
	cin >> _;
	while(_ --){
		int a, b, n, m;
		cin >> a >> b >> n >> m;
		if(a + b < m + n) cout << "No" << endl;
		else if(m < min(a,b)) cout << "No" << endl;
		else cout << "Yes" << endl;
	}
	return 0;
}


#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;

#define ff              first
#define ss              second
#define ll             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

int32_t main(){
    w(t){
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if(min(a,b)<m || a+b<n+m){
            cout<<"No"<<endl;
        }else{
            cout<<"Yes"<<endl;
        }
}
}


#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;

#define ff              first
#define ss              second
#define ll             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

int32_t main(){
    w(t){
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if(min(n,m)<b || n+m<a+b){
            cout<<"No"<<endl;
        }else{
            cout<<"Yes"<<endl;
        }
}
}


#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;

#define ff              first
#define ss              second
#define ll             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

int32_t main(){
    w(t){
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if((a+b)<(n+m) || n+m==0){
            cout<<"No"<<endl;
        }else{
            if(a>b){
                n-=a-b;
                a-=n;
                if(n<0){
                    cout<<"No"<<endl;
                }else{
                    a-=m;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(b>=n){
                    cout<<"Yes"<<endl;
                }  else{
                    cout<<"No"<<endl;
                }
                }
                }
                }else if(a==b){
                a-=m;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(b>=n){
                    cout<<"Yes"<<endl;
                }  else{
                    cout<<"No"<<endl;
                }
                }
            }
            else if(a<b){
                 a-=n;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(a<b && a==0){
                    cout<<"No"<<endl;
                }  else{
                    cout<<"Yes"<<endl;
                }
                }
            }
        }
    }
}


#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;

#define ff              first
#define ss              second
#define ll             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)
mt19937                 rng(chrono::steady_clock::now().time_since_epoch().count());

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

int32_t main(){
    w(t){
        ll a,b,n,m;
        cin>>a>>b>>n>>m;
        if((a+b)<(n+m)){
            cout<<"No"<<endl;
        }else{
            if(a>b){
                n-=a-b;
                a-=n;
                if(n<0){
                    cout<<"No"<<endl;
                }else{
                    a-=m;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(b>=n){
                    cout<<"Yes"<<endl;
                }  else{
                    cout<<"No"<<endl;
                }
                }
                }
                }else if(a==b){
                a-=m;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(b>=n){
                    cout<<"Yes"<<endl;
                }  else{
                    cout<<"No"<<endl;
                }
                }
            }
            else if(a<b){
                 a-=n;
                if(a<0){
                    cout<<"No"<<endl;
                }else{
                   if(a<b && a==0){
                    cout<<"No"<<endl;
                }  else{
                    cout<<"Yes"<<endl;
                }
                }
            }
        }
    }
}