

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<stack>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<iostream>
#include<set>
#include<map>

using namespace std;
typedef long long ll;
int mod(ll a){
    int c=a%1000000007;
    if(c>=0)return c;
    else return c+1000000007;
}
typedef pair<int,int> i_i;
typedef pair<ll,ll> l_l;
#define inf 100000000/*10^8*/

/////////////////////////////////


int a[10];
stack<int>b,c;
bool flag=false;
void dfs(int k){
    if(k==10){
        flag=true;
        return;
    }
    if(b.top()<a[k]){
        b.push(a[k]);
        dfs(k+1);
        b.pop();
    }
    if(c.top()<a[k]){
        c.push(a[k]);
        dfs(k+1);
        c.pop();
    }
    return;
}


int main(){
    int n;cin>>n;
    while(n--){
        flag=false;
        for(int i=0;i<=9;i++)scanf("%d",&a[i]);
        b.push(a[0]),c.push(0);
        dfs(1);
        if(flag==true)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}


