#include <iostream>
#include <queue>


int n;
int A[10];

std::queue<int> input;

void solve() {
    bool                            flag = true;
    std::queue< std::pair<int, int> > que; // empty : -1

    que.push( std::make_pair(input.front(), -1) );
    // que.push( std::make_pair(-1, input.front()) );
    input.pop();
    while (!input.empty() && flag) {
        bool b = false;
        // bfs
        std::pair<int, int> p = que.front();
        que.pop();
        int n = input.front();

        if (p.first < n) {
            que.push( std::make_pair(n, p.second) );
            b = true;
            // std::cout << n << '\t' << p.second << std::endl;
        }

        if (p.second < n) {
            que.push( std::make_pair(p.first,  n) );
            b = true;
            // std::cout << p.first << '\n' << n << std::endl;
        }

        if (b) input.pop();

        if (que.empty()) flag = false;
    }

    if (flag) {
        std::cout << "YES" << std::endl;
    } else {
        std::cout << "NO" << std::endl;
    }
}


int main() {
    std::cin >> n;
    for (int i=0; i<n; i++) {
        int a;
        for (int j=0; j<10; j++) {
            std::cin >> a;
            input.push(a);
        }
        solve();
    }
    return 0;
}

