#include<bits/stdc++.h>
using namespace std;
#define w(x) int x;cin>>x;while(x--)
#define ll long long int 
#define ld long double
#define pb push_back
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL)
#define vi vector<ll>
#define fr(a,b) for(int i=a;i<=b;i++)
#define inf 1e18
#define mod 1000000007

// int largest_factor(int n){
//     for(int i=2;i*i<=n;i++){
//         if(n%i==0){
//             return n/i;
//         }
//     }
//     return 1;
// }
int gcd(int a, int b) 
{ 
    if (b == 0) 
        return a; 
    return gcd(b, a % b); 
} 

// ll findlcm(int arr[], int n) 
// {  
//     ll ans = arr[0];  
//     for (int i = 1; i < n; i++) 
//         ans = (((arr[i] * ans)) / 
//                 (gcd(arr[i], ans))); 
  
//     return ans; 
// } 
// vector<int>v;
// void seieve(){
//     bool prime[1000005];
//     memset(prime,true,sizeof(prime));
//     prime[0]=prime[1]=false;
//     for(int i=2;i*i<=1000000;i++){
//         if(prime[i]==true){
//             for(int j=i*i;j<=1000000;j+=i){
//                 prime[j]=false;
//             }
//         }
//     }
//     for(int i=2;i<=1000000;i++)
//     {
//         if(prime[i]==true){
//             v.pb(i);
//         }
//     }
// }
// ll power(int n,int k){
//     if(k==0){
//         return 1;
//     }
//     if(k&1){
//         return (n*power(n,k-1))%mod;
//     }
//     ll c=power(n,k/2);
//     return (c*c)%mod;
// }
// bool canPartition(ll arr[], ll n,ll sum)
// {
//     int i, j;
 
//     // Calculate sum of all elements
 
//     if (sum % 2 != 0)
//         return false;
 
//     bool part[sum / 2 + 1];
 
//     // Initialze the part array
//     // as 0
//     for (i = 0; i <= sum / 2; i++) {
//         part[i] = 0;
//     }
 
//     // Fill the partition table in bottom up manner
 
//     for (i = 0; i < n; i++) {
//         // the element to be included
//         // in the sum cannot be
//         // greater than the sum
//         for (j = sum / 2; j >= arr[i];
//              j--) { // check if sum - arr[i]
//             // could be formed
//             // from a subset
//             // using elements
//             // before index i
//             if (part[j - arr[i]] == 1 || j == arr[i])
//                 part[j] = 1;
//         }
//     }
 
//     return part[sum / 2];
// }
 
// ll binomialCoeff(ll n, ll k)
// {
//     ll C[n + 1][k + 1];
//     ll i, j;
 
//     // Caculate value of Binomial Coefficient
//     // in bottom up manner
//     for (i = 0; i <= n; i++) {
//         for (j = 0; j <= min(i, k); j++) {
//             // Base Cases
//             if (j == 0 || j == i)
//                 C[i][j] = 1;
 
//             // Calculate value using previously
//             // stored values
//             else
//                 C[i][j] = (C[i - 1][j - 1]%mod + C[i - 1][j]%mod)%mod;
//         }
//     }
 
//     return C[n][k]%mod;
// }


void solve()
{
    int a,b,c,d;
    cin>>a>>b>>c>>d;
    int p=max(a,b);
    int q=min(a,b);
    int r=max(c,d);
    int s=min(c,d);
    if(p>s && r>q){
        cout<<"YES\n";
        return;
    }
    cout<<"NO\n";
}
int main() {
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r",stdin);
    freopen("output.text", "w",stdout);
#endif
    fast;
    ll t;
    cin>>t;
    while(t--)
    solve();
    return 0;
}