#include <bits/stdc++.h>
using namespace std;
long long int a[4010];
long long int n;
vector<long long int> v;
int main() {
  long long int t, i, prev, index, num, j, l;
  cin >> t;
  while (t--) {
    cin >> n;
    map<long long int, long long int> mp;
    for (long long int i = 0; i < 2 * n; i++) {
      cin >> a[i];
      mp[a[i]] = i;
    }
    v.clear();
    long long int pref[2 * n];
    pref[0] = a[0];
    for (i = 1; i < 2 * n; i++) {
      pref[i] = max(pref[i - 1], a[i]);
    }
    prev = 2 * n;
    for (i = (2 * n) - 1; i >= 0; i--) {
      num = pref[i];
      index = mp[num];
      v.push_back(prev - index);
      prev = index;
      i = index;
    }
    bool subset[v.size() + 1][n + 1];
    l = v.size();
    for (int i = 0; i <= l; i++) subset[i][0] = true;
    for (int i = 1; i <= n; i++) subset[0][i] = false;
    for (int i = 1; i <= l; i++) {
      for (int j = 1; j <= n; j++) {
        if (j < v[i - 1]) subset[i][j] = subset[i - 1][j];
        if (j >= v[i - 1])
          subset[i][j] = subset[i - 1][j] || subset[i - 1][j - v[i - 1]];
      }
    }
    cout << ((subset[l][n]) ? "YES" : "NO") << "\n";
  }
}
