using System; using static System.Console; using System.Linq; using System.Collections.Generic; using System.Runtime.Intrinsics.Arm; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var m = 1 << n; var map = NArr(m); var one = 0; var zero = 0; for (var i = 0; i < m; ++i) { if (map[i][n] == 0) ++zero; else ++one; } if (zero == 0) { WriteLine("A=⊤"); return; } if (one == 0) { WriteLine("A=⊥"); return; } var sb = new System.Text.StringBuilder(); sb.Append("A="); var first = true; foreach (var mi in map) { if (mi[n] == 0) continue; if (!first) sb.Append('∨'); sb.Append('('); for (var i = 0; i < n; ++i) { if (i > 0) sb.Append('∧'); if (mi[i] == 0) sb.Append('¬'); sb.Append($"P_{i + 1}"); } sb.Append(')'); first = false; } WriteLine(sb.ToString()); } }