#include using namespace std; #define INF_LL (int64)1e18 #define INF (int32)1e9 #define REP(i, n) for(int64 i = 0;i < (n);i++) #define FOR(i, a, b) for(int64 i = (a);i < (b);i++) #define all(x) x.begin(),x.end() #define fs first #define sc second using int32 = int_fast32_t; using uint32 = uint_fast32_t; using int64 = int_fast64_t; using uint64 = uint_fast64_t; using PII = pair; using PLL = pair; const double eps = 1e-10; templateinline void chmin(A &a, B b){if(a > b) a = b;} templateinline void chmax(A &a, B b){if(a < b) a = b;} int main(void){ cin.tie(0); ios::sync_with_stdio(false); int64 N, cnt = 0; vector res; cin >> N; REP(i, 1 << N) { vector A(N); REP(j, N) cin >> A[j]; int64 r = 0; cin >> r; if (r == 1) { if (cnt >= 1) res.push_back("∨"); cnt++; res.push_back("("); REP(j, N) { if (j != 0) res.back() += "∧"; res.back() += string(A[j] == 0 ? "¬" : "") + string("P_") + to_string(j+1); } res.back() += (")"); } } if (cnt == 0) { cout << "A=⊥" << endl; } else if (cnt == (1 << N)) { cout << "A=⊤" << endl; } else { cout << "A="; REP(i, res.size()) cout << res[i]; cout << endl; } }