N, M = map(int, input().split()) A = list(map(int, input().split())) B = [[0] * N for _ in range(N)] for _ in range(M): u, v = map(int, input().split()) u, v = u - 1, v - 1 B[u][v] = 1 B[v][u] = 1 ans = 0 for i in range(1 << N): cnt = [0] * N for j in range(N): if i >> j & 1: cnt[j] = 1 tot = [0] * N for j in range(N): for k in range(N): tot[j] += B[j][k] * cnt[k] if all(tot[j] == A[j] for j in range(N)): print('Yes') print(*cnt) exit() print('No')