#include <bits/stdc++.h>

using namespace std;

typedef unsigned long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<int, vector<int>> vii;
typedef vector<ll> vl;
typedef vector<ll, vector<ll>> vll;
typedef pair<int, int> pii;
typedef map<int, int> mi;
typedef vector<pair<int, int>> vpi;

#define ln "\n"
#define mp make_pair
#define pb push_back
#define st first
#define nd second
#define all(x) (x).begin(), (x).end()
#define sz(x) ((ll)(x).size())
#define rall(x) (x).rbegin(), (x).rend()
#define sor(x) sort(all(x))
#define lb lower_bound
#define ub upper_bound

void solve()
{
  int n;
  cin >> n;

  vector<int> v(n);

  set<int> s;
  int z;
  set<int>::iterator it;
  bool ok = true;

  for (int i = 0; i < n; i++)
  {
    cin >> z;
    if (ok)
    {
      if (i > 0 && z != *it)
      {
        s.insert(z);
        if (z > *it)
        {
          it++;
          if (it != s.end() && z > *it)
          {
            ok = false;
          }
        }
        else if (z < *it && it != s.begin())
        {
          it--;
          if (z < *it)
          {
            ok = false;
          }
        }
      }
      auto k = s.insert(z);
      it = k.first;
    }
  }

  if (ok)
    cout << "YES" << ln;
  else
    cout << "NO" << ln;
}

int main()
{
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int test;
  cin >> test;
  for (int i = 1; i <= test; i++)
  {
    solve();
  }
  return 0;
}