def Is():return map(int,input().split()) N,M = Is() node = [0] + list(Is()) side = [[]for i in range(N+1)] for i in range(M): a,b = Is() side[a].append(b) side[b].append(a) for i in range(1,N+1): if len(side[i])<2: continue big = set() sml = set() for j in side[i]: if node[i]node[j]: sml.add(node[j]) if len(list(big))>1 or len(list(sml))>1: print("YES") break else: print("NO")