#include<bits/stdc++.h>
const int N=2*100015;
const int mod=1e9+7;
typedef long long ll;
using namespace std;
int n;
int a[N];
int b[N];
inline int lowbit(int x){return x&(-x);}
int bit[N*2];
void add(int i,int x)
{
    while(i<=n+2)
    {
       // cout<<i<<endl;
        bit[i]+=x;
        i+=lowbit(i);
    }
}
int getsum(int i)
{
    //cout<<i<<" "<<i<<endl;
    int res=0;
    while(i>0)
    {
        res+=bit[i];
        i-=lowbit(i);
    }
    return res;
}
int main()
{
    int t;cin>>t;
    while(t--)
    {
        cin>>n;
        memset(bit,0,sizeof(bit));
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            b[i]=a[i];
        }
        sort(b+1,b+1+n);
        int mm=unique(b+1,b+1+n)-b-1;
        for(int i=1;i<=n;i++)
        {
            a[i]=lower_bound(b+1,b+1+mm,a[i])-b;
            a[i]++;
        }//LiSanHua
        int flag=1;
        int mmin=1e6;
        int mmax=0;
        for(int i=1;i<=n;i++)
        {
            if(i==1)//第一个
            {
                add(a[i],1);
                add(n+2,1);
                add(1,1);
            }
            else
            {
                int cnt=2;
                if(getsum(a[i])-getsum(a[i]-1)==0)
                {
                    if(a[i]>mmax&&getsum(n+2)-getsum(n+1)!=0)
                    {
                        add(a[i],1);
                        add(n+2,-1);
                    }
                    else if(a[i]<mmin&&getsum(1)-getsum(0)!=0)
                    {
                        add(a[i],1);
                        add(1,-1);
                    }
                    else
                    {
                        add(a[i],1);
                        cnt--;
                    }
                }
                int before=getsum(a[i]-1);
                int after=getsum(n+2)-getsum(a[i]);
                if(cnt==2&&after==before)
                {
                    add(1,1);add(n+2,1);
                }
                else
                {
                    if(before>after)
                        for(int i=1;i<=cnt;i++)add(n+2,1),after++;
                    else
                        for(int i=1;i<=cnt;i++)add(1,1),before++;
                }
                if(after!=before)flag=0;
                if(flag==0)break;
            }
            mmin=min(mmin,a[i]);
            mmax=max(mmax,a[i]);
        }
        if(flag)cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }

    return 0;
}
