package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
if _, err := fmt.Fscan(reader, &t); err != nil {
return
}
for i := 0; i < t; i++ {
var n int
fmt.Fscan(reader, &n)
p := make([]int, 2*n)
for j := 0; j < 2*n; j++ {
fmt.Fscan(reader, &p[j])
}
var blocks []int
maxVal := 0
currLen := 0
for j := 0; j < 2*n; j++ {
if p[j] > maxVal {
if currLen > 0 {
blocks = append(blocks, currLen)
}
maxVal = p[j]
currLen = 1
} else {
currLen++
}
}
if currLen > 0 {
blocks = append(blocks, currLen)
}
dp := make([]bool, n+1)
dp[0] = true
for _, w := range blocks {
for j := n; j >= w; j-- {
if dp[j-w] {
dp[j] = true
}
}
}
if dp[n] {
fmt.Fprintln(writer, "YES")
} else {
fmt.Fprintln(writer, "NO")
}
}
}