N,M = map(int,input().split()) A = list(map(int,input().split())) lis = [ [] for i in range(N) ] e = [] for i in range(M): u,v = map(int,input().split()) u -= 1 v -= 1 lis[u].append(v) lis[v].append(u) e.append( (u,v) ) for bit in range(2**N): p = [1 if 2**i&bit else 0 for i in range(N)] B = [0] * N for u,v in e: B[u] += p[v] B[v] += p[u] if A == B: print ("Yes") print (*p) break else: print ("No")