from collections import deque, defaultdict, Counter from bisect import bisect_left, bisect_right from itertools import permutations, combinations from functools import cmp_to_key, cache from heapq import heappop, heappush import math, sys import pypyjit pypyjit.set_param('max_unroll_recursion=-1') sys.setrecursionlimit(10**7) _int = lambda x: int(x)-1 MOD = 998244353 INF = 1<<62 Yes, No = "Yes", "No" N, M = map(int, input().split()) memo = [[0]*N for _ in range(N)] for _ in range(M): u, v = map(int, input().split()) memo[u][v] = 1 memo[v][u] = 1 S = set(list(map(int, input().split()))) if N >= 3: for p in combinations(range(N), 3): for q in permutations(p): li = list(q)+[q[0]] for i in range(3): if memo[li[i]][li[i+1]] == 0: break else: if S != set(q): print(Yes) exit() if N == 4: for q in permutations(range(4)): li = list(q)+[q[0]] for i in range(4): if memo[li[i]][li[i+1]] == 0: break else: if S != set(q): print(Yes) exit() print(No)