package main import ( "fmt" ) func main() { var n int fmt.Scan(&n) flg := false ans := "" for range make([]struct{}, pow(2, n)) { q := make([]int8, n) for j := range q { fmt.Scan(&q[j]) } var r int8 fmt.Scan(&r) if r == 1 { if ans != "" { ans += "∨" } ans += "(" for j, v := range q { if j != 0 { ans += "∧" } if v == 0 { ans += "¬" } ans += "P_" k := j + 1 if k >= 10 { ans += "1" } ans += string('0' + k%10) } ans += ")" } else { flg = true } } if ans == "" { ans = "⊥" } else if !flg { ans = "⊤" } fmt.Printf("A=%s\n", ans) } func pow(a, b int) int { res := 1 for range make([]struct{}, b) { res *= a } return res }