/*
input:
2
3 1 4 2 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
output:
YES
NO
*/

#include <cstdio>

//&#36755;入
int a[10];

//深度&#20248;先放第K个球
bool dfs(int k, int B, int C){
	//若10个球都放完
	if(k == 10) return true;
	if(a[k] > B){
		//能放&#36827;B道
		if(dfs(k + 1, a[k], C))
			return true;
	}
	if(a[k] > C){
		//能放&#36827;C道
		if(dfs(k + 1, B, a[k]))
			return true;
	}
	//都不能放
	return false;
}

void solve(){
	if(dfs(0, 0, 0))
		printf("YES\n");
	else
		printf("NO\n");
}

int main(int argc, char const *argv[]){

	int t;
	scanf("%d", &t);
	while(t --){
		for(int i = 0; i < 10; i ++)
			scanf("%d", &a[i]);
		solve();
	}

	return 0;
}