#include<cstdio>
/*
2
3 1 4 2 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
3 5 4 6 1 2 7 8 9 10
4 5 6 7 8 9 1 2 3 10
*/
int n;
int a[12];

int  dsf(int x, int num){
    //将所在数字???-1
    a[x] = -1;
    //向后遍?数?，?足条件?将num???当前数字，并且?用本方法。

    int flag2 = 0;

    for(int i = x; i < 10; i++){

        if(a[i] == num + 1){

            num = a[i];
            dsf(i,num);

            flag2 ++;//只要?行??条件，????1
        }
    }
    if(flag2 == 0)//?明数?中元素不符合条件
             return 0;
    if(flag2 > 2)
             return 0;
    return 1;
}
int main(){

    scanf("%d",&n);
    int i=1;
    while(i <= n){
        int flag = 1;

        //存数据
        for(int x = 0; x < 10; x++){
            scanf("%d",&a[x]);
        }

        //?用方法，将?足条件的数字改?-1
        for(int x = 0; x < 10; x++){
            if(a[x] != -1)
                if(dsf(x,a[x]) == 0)                     //只要??数?中有一个元素不符合条件，?跳出，避免将所有数据?入并???-1
                    break;
        }

        //遍?数?的数?是否都?-1
        for(int x = 0; x < 10; x++){

            if(a[x] != -1)
                flag = 0;
        }
        //判断并?出?果
        if(flag == 1) printf("YES\n");
            else printf("NO\n");

        i++;
    }
    return 0;
}