#include<bits/stdc++.h>

	#define X first
	#define Y second
	#define eb push_back
	#define siz(a) int(a.size())
	#define endl "\n"

	#define trace2(x, y)             cerr <<#x<<": "<<x<<" | "<<#y<<": "<<y<< endl;
	#define trace3(x, y, z)          cerr <<#x<<": "<<x<<" | "<<#y<<": "<<y<<" | "<<#z<<": "<<z<<endl;
	#define trace4(a, b, c, d)       cerr <<#a<<": "<<a<<" | "<<#b<<": "<<b<<" | "<<#c<<": "<<c<<" | "<<#d<<": "<<d<<endl;
	#define trace5(a, b, c, d, e)    cerr <<#a<<": "<<a<<" | "<<#b<<": "<<b<<" | "<<#c<<": "<<c<<" | "<<#d<<": "<<d<<" | "<<#e<<": "<<e<<endl;

	using namespace std;

	typedef long long int ll;
	typedef vector < int > vi;
	typedef vector < ll > vll;

	const int mod=1e9+7;
	const int maxn=1e6+5;

	/*	finding inverse upto n
	 * for i in xrange(2, N):
		ifc[i] = -(mod / i) * ifc[mod % i] % mod
	 * 
	*/
	ll power(ll base, ll exp){ll res = 1; while(exp){if(exp%2)res*=base;base*=base;res%=mod;base%=mod;exp/=2;}return res;}

	//Mai bhut bda chutiya hu :(
	//Unfortunately upar jo likha h voh sahi h -_-

	ll arr[maxn], dp[2][30][2005], n;

	ll go(ll idx, ll c, ll val){
		if(idx == n+1)
			return 0;
		
		ll &ret = dp[c][idx][val];
		
		if(ret != -1)
			return ret;
		
		ret = maxn;
		
		if(arr[idx] >= val)
			ret = go(idx+1, c, arr[idx]);
		
		if(!c){
			
			ret = min(ret, go(idx+1, 1, val)+1);
			
		}
		
		return ret;
	}

	int main(){
		ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);
		//freopen("input.in", "r", stdin);freopen("output.out", "w", stdout);	
		ll t, i;
		cin >> t;
		
		while(t--){
			cin >> n ;
			string ans = "YES";
			for(i=1; i<=n; i++){
				cin >> arr[i];
			}
			memset(dp, -1, sizeof(dp));
			ll q = go(1, 0, 0);
	//		cerr << q << endl;
			if(q > 1){
				
				cout << "NO";
			} else{
				cout << "YES";
			}
			
			cout << endl;
			
		}
		
		return 0;
	}