#include <bits/stdc++.h>
using namespace std;
long long check(long long **dp, vector<long long> &v, long long indx,
                long long sum) {
  if (indx == v.size()) return (sum == 0);
  if (dp[indx][sum] != -1) return dp[indx][sum];
  long long res = 0;
  if (sum >= v[indx]) res |= check(dp, v, indx + 1, sum - v[indx]);
  res |= check(dp, v, indx + 1, sum);
  return (dp[indx][sum] = res);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long t;
  cin >> t;
  while (t--) {
    long long n;
    cin >> n;
    long long p[n + n];
    for (long long i = 0; i < n + n; i++) cin >> p[i];
    ;
    set<long long> st;
    for (long long i = 1; i <= n + n; i++) st.insert(-1 * i);
    long long prev = n + n;
    vector<long long> v;
    for (long long i = n + n - 1; ~i; i--) {
      if (p[i] == (-1 * (*(st.begin())))) {
        v.push_back(prev - i);
        prev = i;
      }
      st.erase(st.find(p[i] * -1));
    }
    long long **dp = new long long *[v.size()];
    for (long long i = 0; i < v.size(); i++) dp[i] = new long long[n + 1];
    for (long long i = 0; i < v.size(); i++)
      for (long long j = 0; j < n + 1; j++) dp[i][j] = -1;
    if (check(dp, v, 0, n))
      cout << "YES\n";
    else
      cout << "NO\n";
  }
  return 0;
}
