#include <algorithm>
#include <iomanip>
#include <istream>
#include <map>
#include <numeric>
#include <ostream>
#include <set>
#include <sstream>
#include <string>
#include <utility>
#include <vector>


using namespace std;
// Powered by caide (code generator, tester, and library code inliner)


class Solution {
public:
    void solve(std::istream& in, std::ostream& out) {
		int n; in >> n;
		vector<int> arr(n);
		for (int i = 0; i < n; i++) {
			in >> arr[i];
		}
		int m = arr[0];
		int count = 0;
		for (int i = 1; i < n; i++) {
			if (arr[i] < m) count++;
			m = max(m, arr[i]);
		}
		int m1 = arr[n - 1];
		int count1 = 0;
		for (int i = n - 2; i >= 0; i--) {
			if (arr[i] > m1) count1++;
			m1 = min(m1, arr[i]);
		}

		if (min(count, count1) > 1) out << "NO" << endl;
		else out << "YES" << endl;
    }
};

void solve(std::istream& in, std::ostream& out)
{
    out << std::setprecision(12);
    Solution solution;
	int T; in >> T;
	while(T--)
    solution.solve(in, out);
}


#include <fstream>
#include <iostream>


int main() {
    
    ios_base::sync_with_stdio(0);
    cin.tie(0);


    istream& in = cin;


    ostream& out = cout;

    solve(in, out);
    return 0;
}