#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int merge(vector<int>&v,int s,int mid,int h){
int i = s;
int j= mid +1;
int k =0;
int invent = 0;
vector<int> temp(h-s +1);
while(i<=mid && j<=h){
if(v[j]> v[i]){
temp[k++] =v[i++];
} else {
invent = mid -i+1;
temp[k++] =v[j++];
}
}
while(i<=mid){
temp[k++] =v[i++];
}
while(j<=h){
temp[k++] =v[j++];
}
int l =0;
for(int i = s;i<=h;i++){
v[i] = temp[l++];
}
return invent;
}
int mergeSort(vector<int>&v,int s,int e){
int inven =0;
if(s<e){
int mid = s + (e-s)/2;
inven += mergeSort(v,s,mid);
inven += mergeSort(v,mid+1,e);
inven += merge(v,s,mid,e);
}
return inven;
}
int main() {
// your code goes here
int t;
cin>>t;
while(t--){
int n;
cin>>n;
vector<int> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
int localCount =0;
for(int i=0;i<n-1;i++){
if(v[i]>v[i+1]){
localCount++;
}
}
int icount = mergeSort(v,0,v.size()-1);
if(icount == localCount) {
cout<<"YES"<<endl;
} else {
cout<<"NO"<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtZXJnZSh2ZWN0b3I8aW50PiZ2LGludCBzLGludCBtaWQsaW50IGgpewogICAgCiAgICBpbnQgaSA9IHM7CiAgICAKICAgIGludCBqPSBtaWQgKzE7CiAgICBpbnQgayA9MDsKICAgIGludCBpbnZlbnQgPSAwOwogICAgdmVjdG9yPGludD4gdGVtcChoLXMgKzEpOwogICAgd2hpbGUoaTw9bWlkICYmIGo8PWgpewogICAgICAgIGlmKHZbal0+IHZbaV0pewogICAgICAgICAgICB0ZW1wW2srK10gPXZbaSsrXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnZlbnQgPSAgbWlkIC1pKzE7CiAgICAgICAgICAgIHRlbXBbaysrXSA9dltqKytdOwogICAgICAgIH0KICAgIH0KICAgIAogICAgCiAgICB3aGlsZShpPD1taWQpewogICAgICAgdGVtcFtrKytdID12W2krK107IAogICAgfQogICAgCiAgICB3aGlsZShqPD1oKXsKICAgICAgIHRlbXBbaysrXSA9dltqKytdOyAKICAgIH0KICAgIAogICAgCiAgICBpbnQgbCA9MDsKICAgIGZvcihpbnQgaSA9IHM7aTw9aDtpKyspewogICAgICAgIHZbaV0gPSB0ZW1wW2wrK107CiAgICB9CiAgICAKICAgIHJldHVybiBpbnZlbnQ7CiAgICAKfQoKaW50IG1lcmdlU29ydCh2ZWN0b3I8aW50PiZ2LGludCBzLGludCBlKXsKICAgIAogICAgaW50IGludmVuID0wOwogICAgaWYoczxlKXsKICAgICAgICBpbnQgbWlkID0gcyArIChlLXMpLzI7CiAgICAKICAgIGludmVuICs9IG1lcmdlU29ydCh2LHMsbWlkKTsKICAgIGludmVuICs9IG1lcmdlU29ydCh2LG1pZCsxLGUpOwogICAKICAgICBpbnZlbiArPSBtZXJnZSh2LHMsbWlkLGUpOwogICAgfQoKICAgIHJldHVybiBpbnZlbjsKICAgIAp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQoJaW50IHQ7CgkKCWNpbj4+dDsKCXdoaWxlKHQtLSl7CgkgICAgCgkgICAgaW50IG47CgkgICAgCgkgICAgY2luPj5uOwoJICAgIAoJICAgIHZlY3RvcjxpbnQ+IHYobik7CgkgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CgkgICAgICAgIGNpbj4+dltpXTsKCSAgICB9CgkgICAgCgkgICAgCgkgICAgaW50IGxvY2FsQ291bnQgPTA7CgkgICAgZm9yKGludCBpPTA7aTxuLTE7aSsrKXsKCSAgICAgICAgCgkgICAgICAgIGlmKHZbaV0+dltpKzFdKXsKCSAgICAgICAgICAgIGxvY2FsQ291bnQrKzsKCSAgICAgICAgfQoJICAgIH0KCgkgICAgaW50IGljb3VudCA9IG1lcmdlU29ydCh2LDAsdi5zaXplKCktMSk7CgkgICAgCgkgICAgaWYoaWNvdW50ID09IGxvY2FsQ291bnQpIHsKCSAgICAgICAgY291dDw8IllFUyI8PGVuZGw7CgkgICAgICAgIAoJICAgIH0gZWxzZSB7CgkgICAgICAgICBjb3V0PDwiTk8iPDxlbmRsOwoJICAgIH0KCSAgIAoJICAgIAoJfQoJcmV0dXJuIDA7Cn0K