//#define LOCAL 

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>

#define SIZE 10

using namespace std;

int map[SIZE];

bool dfs(int a, int b, int pos){
	//printf("a: %d b: %d pos: %d\n", a, b, pos);

	if(pos == SIZE)
		return true;

	if(map[pos] > a)
		return dfs(map[pos], b, pos + 1);

	if(map[pos] > b)
		return dfs(a, map[pos], pos + 1);

	return false;
}

int main(void){
#ifdef LOCAL
	freopen("data.in", "r", stdin);
#endif 
	int n;
	
	scanf("%d", &n);
	while(n--){
		for(int i = 0; i < SIZE; i++){
			scanf("%d", &map[i]);
	//		printf("%d ", map[i]);
		}
	//	printf("\n");

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

	return 0;
}
