#include #include #include #include #include #include int main() { int n, m; std::cin >> n >> m; std::vector a(n); for (int i = 0; i < n; ++i) { std::cin >> a[i]; } std::vector> g(n, std::vector()); for (int i = 0; i < m; i++) { int u, v; std::cin >> u >> v; --u; --v; g[u].push_back(v); g[v].push_back(u); } for (int i = 0; i < (1 << n); ++i) { bool ok = true; for (int u = 0; u < n; u++) { int cnt = 0; for (int v : g[u]) { if ((i >> v) & 1) { cnt++; } } if (cnt != a[u]) { ok = false; break; } } if (ok) { std::cout << "Yes\n"; for (int j = 0; j < n; j++) { std::cout << (i >> j & 1) << ' '; } return 0; } } std::cout << "No\n"; return 0; }