def solve(q, r): if r == [0] * (2**N): return '⊥' if r == [1] * (2**N): return '⊤' ans = '' for i in range(2**N): if r[i] == 0: continue if ans != '': ans += '∨' ans += '(' for j in range(N): if j > 0: ans += '∧' if q[i][j] == 0: ans += '¬' ans += 'P_' + str(j + 1) ans += ')' return ans N = int(input()) print('A=', end='') q = [] r = [] for i in range(2**N): l = list(map(int, input().split())) q.append(l[:N]) r.append(l[-1]) print(solve(q, r))