#include <bits/stdc++.h>
using namespace std;
int a[4005];
int dp[4005][2005];
int nx[4005];
int main(int argc, char** argv) {
  int T = 1;
  scanf("%d", &T);
  while (T--) {
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= 2 * n; i++) {
      nx[i] = 0;
      scanf("%d", &a[i]);
    }
    for (int i = 1; i <= 2 * n; i++) {
      for (int j = i + 1; j <= 2 * n; j++) {
        if (a[j] > a[i]) {
          nx[i] = j;
          break;
        }
      }
    }
    for (int i = 1; i <= 2 * n; i++) {
      for (int j = 0; j <= n; j++) dp[i][j] = dp[i][j] = 0;
    }
    dp[0][0] = 1;
    int fg = 0;
    for (int i = 0; i <= 2 * n; i++) {
      for (int j = 0; j <= n; j++) {
        if (i - j == n || j == n) {
          if (dp[i][j]) {
            fg = 1;
          }
        }
        if (nx[i + 1]) {
          if (dp[i][j] && j + (nx[i + 1] - (i + 1)) <= n) {
            dp[nx[(i + 1)] - 1][j + (nx[i + 1] - (i + 1))] = 1;
          }
          if (dp[i][j]) {
            dp[nx[(i + 1)] - 1][j] = 1;
          }
        }
      }
    }
    if (fg)
      puts("YES");
    else if (dp[2 * n][n]) {
      puts("YES");
    } else
      puts("NO");
  }
  return 0;
}
