import sys sys.setrecursionlimit(10 ** 6) stdin = sys.stdin ni = lambda: int(ns()) na = lambda: list(map(int, stdin.readline().split())) ns = lambda: stdin.readline().strip() ntp = lambda: tuple(map(int, stdin.readline().split())) mod = 10 * 9 + 7 inf = 2 << 60 n, m = na() A = na() G = [[] for _ in range (n)] for _ in range(m): u, v = na() G[u - 1].append(v - 1) G[v - 1].append(u - 1) for i in range(n): up = 0 dn = 0 num = set() for g in G[i]: if not(A[g] in num): if A[g] < A[i]: dn += 1 if A[g] > A[i]: up += 1 num.add(A[g]) if up > 1 or dn > 1: print('YES') exit() print('NO')