#include <bits/stdc++.h>
using namespace std;
void fastio() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
int main() {
  fastio();
  long long int T = 1;
  cin >> T;
  for (long long int test = 1; test <= T; test++) {
    long long int n, m, k, l, r, q, ans, cnt, sum;
    ans = 0;
    cnt = 0;
    sum = 0;
    cin >> n;
    n *= 2;
    long long int a[n];
    for (long long int i = 0; i < n; i++) cin >> a[i];
    stack<pair<long long int, long long int>> s;
    s.push({a[n - 1], 1});
    for (long long int i = n - 2; i >= 0; i--) {
      k = a[i];
      r = 0;
      while (!s.empty()) {
        l = s.top().first;
        r += s.top().second;
        if (l < a[i]) {
          s.pop();
        } else {
          r -= s.top().second;
          break;
        }
      }
      s.push({a[i], r + 1});
    }
    vector<long long int> v;
    while (!s.empty()) {
      v.push_back(s.top().second);
      s.pop();
    }
    sum = 0;
    ans = 0;
    for (long long int i = 0; i < v.size(); i++) {
      sum += v[i];
    }
    if (sum % 2 == 1)
      ans = -1;
    else {
      sum = sum / 2;
      m = v.size();
      int dp[m + 1][sum + 1];
      for (long long int i = 0; i <= m; i++) {
        for (long long int j = 0; j <= sum; j++) dp[i][j] = 0;
      }
      for (long long int i = 0; i <= m; i++) {
        for (long long int j = 0; j <= sum; j++) {
          if (j == 0)
            dp[i][j] = 1;
          else if (i == 0)
            dp[i][j] = 0;
          else {
            if (dp[i - 1][j] == 1 ||
                (j >= v[i - 1] && dp[i - 1][j - v[i - 1]] == 1))
              dp[i][j] = 1;
            else
              dp[i][j] = 0;
          }
        }
      }
      if (dp[m][sum] == 0) ans = -1;
    }
    if (ans == -1)
      cout << "NO" << endl;
    else
      cout << "YES" << endl;
  }
}
