#include <bits/stdc++.h>
using namespace std;
long long int knap(vector<long long int>& v, long long int** dp,
                   long long int s, long long int n) {
  if (s < 0 || n < 0) return 0;
  if (s == 0 && n >= 0) return 1;
  if (dp[n][s] != -1) return dp[n][s];
  dp[n][s] = knap(v, dp, s - v[n], n - 1) | knap(v, dp, s, n - 1);
  return dp[n][s];
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    long long int n;
    cin >> n;
    long long int a[2 * n];
    for (long long int i = 0; i < 2 * n; i++) {
      cin >> a[i];
    }
    long long int prev = 2 * n;
    vector<long long int> v;
    for (long long int i = 0; i < 2 * n; i++) {
      long long int c = 2 * n - i;
      long long int j;
      for (j = 0; j < 2 * n; j++)
        if (a[j] == c) break;
      if (prev > j) {
        v.push_back(prev - j);
        prev = j;
      }
    }
    long long int s = n;
    long long int l = v.size();
    long long int** dp = new long long int*[l];
    for (long long int i = 0; i < l; i++) {
      dp[i] = new long long int[s + 1];
      for (long long int j = 0; j < s + 1; j++) dp[i][j] = -1;
    }
    long long int f = knap(v, dp, s, l - 1);
    if (f == 1)
      cout << "YES";
    else
      cout << "NO";
    cout << endl;
  }
}
