#include<stdio.h> 
#include<string.h>
int s[12];
bool p[12];
int flag,flag1,A;
void dfs(int com,int cur)
{
	if(cur==10)
	return;
	if(s[com]<=s[cur] && !p[cur])
		p[com]=true,p[cur]=true,dfs(cur,cur+1);
	else if(s[com]>s[cur] || p[cur])
		{
			if(flag1)
			flag1=0,A=cur;
	    	dfs(com,cur+1);	
		}
}
int main()
{
	int n;
	scanf("%d",&n);
	while(n--)
	{
		flag=1,flag1=1;
		memset(p,false,sizeof(p));
		for(int i=0;i<10;i++)
		scanf("%d",&s[i]);
		dfs(0,1);
		dfs(A,A+1);
		for(int i=0;i<10;i++)
			if(!p[i])
				flag=0;
		if(flag)
		printf("YES");
		else
		printf("NO");
		printf("\n");
	 } 
	return 0;
 } 