#include <bits/stdc++.h>
using namespace std;
template <typename T>
T sqr(T x) {
  return x * x;
}
template <typename T>
T abs(T x) {
  return x < 0 ? -x : x;
}
template <typename T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
template <typename T>
bool chmin(T& x, const T& y) {
  if (x > y) {
    x = y;
    return true;
  }
  return false;
}
template <typename T>
bool chmax(T& x, const T& y) {
  if (x < y) {
    x = y;
    return true;
  }
  return false;
}
auto random_address = [] {
  char* p = new char;
  delete p;
  return (uint64_t)p;
};
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count() *
            (random_address() | 1));
mt19937_64 rngll(chrono::steady_clock::now().time_since_epoch().count() *
                 (random_address() | 1));
int main(int, char**) {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    int last = 0;
    vector<int> a(2 * n);
    vector<int> b;
    for (int i = 0; i < 2 * n; ++i) {
      cin >> a[i];
      if (a[i] > a[last]) {
        b.push_back(i - last);
        last = i;
      }
    }
    b.push_back(2 * n - last);
    vector<int> f(n + 1, 0);
    f[0] = true;
    for (auto& x : b) {
      for (int i = n; i >= x; --i) {
        f[i] |= f[i - x];
      }
    }
    cout << (f[n] ? "YES" : "NO") << "\n";
  }
  return 0;
}
