#include <iostream>
#include <queue>
#include <stack>
using namespace std;
stack<int> stal, star;
queue<int> que;
bool dfs();

int main() {
    int n;

    while (cin >> n) {
        int num;
        while (n--) {
            while (!que.empty()) que.pop();
            for (int i = 0; i < 10; i++) {
                cin >> num;
                que.push(num);
            }
            while (!stal.empty()) stal.pop();
            while (!star.empty()) star.pop();
            cout << (dfs() ? "YES" : "NO") << endl;
        }
    }

    return 0;
}

bool dfs() {
    bool flag = true, enter = false;
    if (stal.empty() || stal.top() < que.front()) {
        stal.push(que.front());
        que.pop();
        flag = dfs();
        enter = true;
    }
    if (!flag && !enter) { que.push(stal.top()); stal.pop(); }
    if ((star.empty() || star.top() < que.front()) && (!flag || !enter)) {
        star.push(que.front());
        que.pop();
        dfs();
    }
    if (que.empty()) return true;
    else return false;
}