#include<iostream>
#include<cstring>
#include<stack>
using namespace std;
int a[15],t;
int map[2][15];
stack<int>s[2];
void dfs(int g){
	if(g==10){
		t=1;
		return;
	}
	if(t==1)
	return;
	for(int i=0;i<2;i++){
		if(s[i].size()==0||s[i].top()<a[g]){
			s[i].push(a[g]);
			dfs(g+1);
			s[i].pop();
		}
	}
}
int main(){
	int loop;
	cin>>loop;
	while(loop--){
		for(int i=0;i<10;i++)
		cin>>a[i];
		t=0;
		for(int i=0;i<2;i++)
		while(!s[i].empty())
		s[i].pop();
		dfs(0);
		for(int i=0;i<2;i++)
		while(!s[i].empty())
		s[i].pop();
		if(t==1)
		cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
	return 0;
} 
