#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; }