#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
//思路：先dfs出一个??数?A，剩下的?成一个数?B，判断B数?是否??即可。
using namespace std;
int t[11];
int v[11];
void dfs(int x,int y)
{
    if(t[x]<t[y]&&y<10)
    {
        v[y]=1;
        dfs(y,y+1);
    }
    else if(t[x]>t[y]&&y<10)
    {
        dfs(x,y+1);
    }
}
int main()
{
    int n,flag=0;
    scanf("%d",&n);
    while(n--)
    {
        memset(t,0,sizeof(t));

        //初始化
        for(int i=0;i<10;i++)
            scanf("%d",&t[i]);
        for(int i=0;i<10;i++)//i<9??
        {
            memset(v,0,sizeof(v));
              v[i]=1;
             dfs(i,i+1);
          int aa=0;flag=0;
             for(int i=0;i<10;i++)
            {
                if(v[i]==0)
                {
                      if(aa>t[i])
                      {
                          flag=1;
                          break;
                      }
                      else
                        aa=t[i];
                }

            }
            if(flag==0)
            {
                cout<<"YES"<<endl;
                break;
            }

        }
            if(flag==1)
                cout<<"NO"<<endl;






    }
}