#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
using namespace std;
const double E = 1e-7;
const long long INF = 1e17;
int main() {
  int q;
  cin >> q;
  for (int _ = 0; _ < q; ++_) {
    int n;
    cin >> n;
    vector<int> a(2 * n), pos(2 * n + 1);
    for (int i = 0; i < 2 * n; ++i) cin >> a[i];
    vector<int> w;
    for (int i = 0; i < 2 * n; ++i) pos[a[i]] = i;
    int max_pos = 2 * n;
    for (int i = 2 * n; i >= 1; --i) {
      if (pos[i] < max_pos) {
        w.push_back(max_pos - pos[i]);
        max_pos = pos[i];
      }
    }
    vector<vector<int> > dp((int)(w).size() + 1, vector<int>(n + 1, 0));
    dp[0][0] = 1;
    for (int i = 1; i < (int)(w).size() + 1; ++i) {
      int weight = w[i - 1];
      for (int j = weight; j < n + 1; ++j) {
        dp[i][j] = dp[i - 1][j - weight];
      }
      for (int j = 0; j < n + 1; ++j) dp[i][j] = max(dp[i][j], dp[i - 1][j]);
    }
    if (dp[(int)(w).size()][n] == 1) {
      cout << "YES\n";
    } else {
      cout << "NO\n";
    }
  }
}
