n,m = map(int, input().split()) alist = list(map(int, input().split())) graph = [[] for i in range(n)] for i in range(m): u,v = map(int, input().split()) u -= 1 v -= 1 graph[u].append(v) graph[v].append(u) for state in range(1 << n): flag = True for i in range(n): cnt = 0 for j in graph[i]: if (state & (1 << j)): cnt += 1 if alist[i] == cnt: pass else: flag = False continue if flag: pass else: continue print("Yes") ans = [1 if (state & (1 << j)) else 0 for j in range(n)] print(*ans) exit() print("No")