← Home
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")
		}
	}
}