#include using namespace std; #define rep(i, a, b) for (int i = a; i < b; i++) using ll = long long; int main(){ int n, m; cin >> n >> m; vector a(n); rep(i, 0, n) cin >> a[i]; vector> g(n); rep(i, 0, m) { int u, v; cin >> u >> v; u--, v--; g[u].push_back(v); g[v].push_back(u); } int l = 1 << n; rep(mask, 0, l) { vector b(n); rep(i, 0, n) { for(int j : g[i]) { if(mask >> j & 1) b[i]++; } } if(b == a) { cout << "Yes" << endl; rep(i, 0, n) { if(i) cout << " "; int c = 0; if(mask >> i & 1) c = 1; cout << c; } cout << endl; return 0; } } cout << "No" << endl; }