#include using namespace std; #define rep(i,n) for(int i = 0; i < n; ++i) int main(void) { int N, M; cin >> N >> M; vector A(N); rep(i,N) cin >> A[i]; vector> G(N); rep(i,M) { int u, v; cin >> u >> v; --u, --v; G[u].push_back(v); G[v].push_back(u); } rep(bit,1 << N) { vector B(N, 0), cnt(N, 0); rep(i,N) B[i] = (bit >> i & 1); rep(v,N) for(auto nv : G[v]) cnt[nv] += B[v]; if(cnt == A) { cout << "Yes" << endl; for(auto x : B) cout << x << " "; cout << endl; return 0; } } cout << "No" << endl; return 0; }