package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var n, m int
fmt.Fscan(in, &n, &m)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
allowed := make([]bool, n-1)
for i := 0; i < m; i++ {
var p int
fmt.Fscan(in, &p)
allowed[p-1] = true
}
b := make([]int, n)
copy(b, a)
sort.Ints(b)
possible := true
i := 0
for i < n {
j := i
for j < n-1 && allowed[j] {
j++
}
seg := make([]int, j-i+1)
copy(seg, a[i:j+1])
sort.Ints(seg)
for k := 0; k < len(seg); k++ {
if seg[k] != b[i+k] {
possible = false
break
}
}
if !possible {
break
}
i = j + 1
}
if possible {
fmt.Fprintln(out, "YES")
} else {
fmt.Fprintln(out, "NO")
}
}
}