#include <bits/stdc++.h>
using namespace std;
const int MAXN = 4001;
const int MOD = 1000000007;
const double EPS = 1e-9;
int arr[MAXN], idx[MAXN], dp[MAXN][MAXN];
bool solve_dp(int idx, int soma, vector<int> &ve) {
  if (soma == 0) return true;
  if (soma < 0) return false;
  if (idx >= (int)ve.size()) return false;
  int &aux = dp[idx][soma];
  if (aux != -1) return aux;
  return aux = solve_dp(idx + 1, soma - ve[idx], ve) ||
               solve_dp(idx + 1, soma, ve);
}
bool solve() {
  int n;
  scanf("%d", &n);
  n *= 2;
  for (int i = 0; i < (n); i++) {
    scanf("%d", &arr[i]);
    idx[arr[i]] = i;
  }
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= n; j++) dp[i][j] = -1;
  vector<int> ve;
  int ant = n;
  int mini = n;
  for (int i = n; i >= 1; i--) {
    if (idx[i] > mini) continue;
    ve.emplace_back(ant - idx[i]);
    mini = min(idx[i], mini);
    ant = idx[i];
  }
  return solve_dp(0, n / 2, ve);
}
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    printf("%s\n", solve() ? "YES" : "NO");
  }
  return 0;
}
