#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long i, t;
  cin >> t;
  for (i = 0; i < t; i++) {
    long long n, j;
    cin >> n;
    vector<long long> c, d;
    for (j = 0; j < 2 * n; j++) {
      long long p;
      cin >> p;
      c.push_back(p);
    }
    long long max1 = c[0], e = 1;
    d.push_back((long long)0);
    for (j = 1; j < 2 * n; j++) {
      while ((c[j] < max1) && (j < 2 * n)) {
        j++;
        e++;
      }
      if (j == 2 * n) {
        if (e <= n) d.push_back(e);
        break;
      } else if (j < 2 * n - 1) {
        max1 = c[j];
        if (e <= n) d.push_back(e);
        e = 1;
      } else if (j == 2 * n - 1) {
        if (e <= n) d.push_back(e);
        d.push_back((long long)1);
      }
    }
    long long f = 0, g = 0;
    sort(d.begin(), d.end());
    long long k;
    long long dp[d.size()][n + 1];
    for (j = 0; j < d.size(); j++) {
      for (k = 0; k < n + 1; k++) dp[j][k] = 0;
    }
    for (j = 0; j < d.size(); j++) dp[j][0] = 1;
    for (j = 1; j < d.size(); j++) {
      for (k = 1; k <= n; k++) {
        if (d[j] <= k)
          dp[j][k] = max(dp[j - 1][k], dp[j - 1][k - d[j]]);
        else
          dp[j][k] = dp[j - 1][k];
      }
    }
    for (j = 0; j < d.size(); j++)
      if (dp[j][n] == 1) g++;
    if (g == 0)
      cout << "NO" << endl;
    else
      cout << "YES" << endl;
  }
  return 0;
}
