#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using ch = char;
const ll MOD = 1000000007;
const ll MOD2 = 998244353;
const ld PI = acos(-1);
const ll INF = 1e18;
string abc = "abcdefghijklmnopqrstuvwxyz";
string ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
struct edge {
  ll to, cost;
};
struct edge2 {
  ll from, to, cost;
};
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  ll t;
  cin >> t;
  for (ll i = 0; i < t; i++) {
    ll n;
    cin >> n;
    vector<ll> a(2 * n);
    for (ll i = 0; i < 2 * n; i++) {
      cin >> a[i];
      a[i]--;
    }
    vector<ll> b;
    ll MX = 2 * n - 1;
    vector<bool> seen(2 * n, false);
    ll now = 2 * n;
    for (ll i = 2 * n - 1; i >= 0; i--) {
      seen[a[i]] = true;
      if (a[i] == MX) {
        b.push_back(now - i);
        now = i;
        while (MX >= 1 && seen[MX]) {
          MX--;
        }
      }
    }
    for (ll i = 0; i < b.size(); i++) {
    }
    vector<vector<bool>> B(b.size() + 1, vector<bool>(4001, false));
    B[0][0] = true;
    for (ll i = 0; i < b.size(); i++) {
      for (ll j = 0; j < 4001; j++) {
        if (B[i][j] || (j >= b[i] && B[i][j - b[i]])) {
          B[i + 1][j] = true;
        }
      }
    }
    if (B[b.size()][n]) {
      cout << "YES" << endl;
    } else {
      cout << "NO" << endl;
    }
  }
}
