package timus;
import java.util.*;
/**
* Created by sherxon on 2016-11-30.
*/
public class TopologicalSorting1280 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] s=in.nextLine().split(" ");
int n=Integer.parseInt(s[0]);
int m=Integer.parseInt(s[1]);
Map<Integer, Set<Integer>> map =new HashMap<>();
for (int i = 0; i < m; i++) {
s=in.nextLine().split(" ");
int k=Integer.parseInt(s[0]);
int l=Integer.parseInt(s[1]);
if(!map.containsKey(k))
map.put(k, new HashSet<>());
map.get(k).add(l);
}
int[] a= new int[n+1];
for (int i = 0; i < n; i++) {
a[i]=in.nextInt();
}
boolean r=false;
for (Integer key : map.keySet()) {
int index=indexOf(key, a, 0);
for (Integer value : map.get(key)) {
int index2=indexOf(value, a, index+1);
if(index2<0){
r=true;
break;
}
}
if(r)break;
}
System.out.println(r ? "NO" : "YES" );
}
private static int indexOf(Integer key, int[] a, int fromIndex) {
for (int i = fromIndex; i < a.length; i++) {
if(key==a[i])return i;
}
return -1;
}
}