#include <bits/stdc++.h>
using namespace std;
int t, n, arr[4100], dp[4100][4100];
vector<int> vec;
int main() {
  cin >> t;
  while (t--) {
    cin >> n;
    n *= 2;
    for (int i = 0; i < n; ++i) cin >> arr[i];
    int e = n - 1;
    vec.clear();
    while (e >= 0) {
      int _max = -1, inx = -1;
      for (int i = 0; i <= e; ++i)
        if (arr[i] > _max) {
          _max = arr[i];
          inx = i;
        }
      vec.push_back(e - inx + 1);
      e = inx - 1;
    }
    sort(vec.begin(), vec.end());
    for (int i = 0; i < vec.size(); ++i)
      for (int i2 = 0; i2 <= n / 2; ++i2) dp[i][i2] = 0;
    dp[0][0] = 1;
    dp[0][vec[0]] = 1;
    for (int i = 1; i < vec.size(); ++i) {
      for (int i2 = 0; i2 <= n / 2; ++i2) {
        dp[i][i2] = dp[i - 1][i2];
        if (i2 - vec[i] >= 0 && dp[i - 1][i2 - vec[i]]) dp[i][i2] = 1;
      }
    }
    if (dp[vec.size() - 1][n / 2])
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
  }
  return 0;
}
