package main import . "fmt" import . "math/bits" func main() { var n, m int Scan(&n,&m) a := make([]int, n) for i := range a { Scan(&a[i]) } g := make([]int, n) for i := 0; i < m; i++ { var u, v int Scan(&u, &v) u-- v-- g[u] |= 1 << v g[v] |= 1 << u } for b := 0; b < (1 << n); b++ { ok := true for i, e := range g { if OnesCount(uint(e&b)) != a[i] { ok = false break } } if ok { Println("Yes") ans := []any{} for i := 0; i < n; i++ { ans = append(ans, b&1) b >>= 1 } Println(ans...) return } } Println("No") }