#include <bits/stdc++.h>
using namespace std;
char str[20];
int p;
string dp[256][3];
void orz(string &a, string b) {
  if (b.size() < a.size() || b.size() == a.size() && b < a) {
    a = b;
    p = 1;
  }
}
int main() {
  for (int i = 0; i < 256; ++i)
    for (int j = 0; j < 3; ++j)
      for (int k = 0; k < 50; ++k) {
        dp[i][j] += "x";
      }
  dp[15][0] = "x";
  dp[51][0] = "y";
  dp[85][0] = "z";
  p = 1;
  while (p) {
    p = 0;
    for (int i = 0; i < 256; ++i) {
      orz(dp[i][0], "!" + dp[i ^ 255][0]);
      orz(dp[i][0], "!(" + dp[i ^ 255][1] + ")");
      orz(dp[i][0], "!(" + dp[i ^ 255][2] + ")");
    }
    for (int i = 0; i < 256; ++i) {
      for (int j = 0; j < 256; ++j) {
        orz(dp[i & j][1], dp[i][0] + "&" + dp[j][0]);
        orz(dp[i & j][1], dp[i][0] + "&" + dp[j][1]);
        orz(dp[i & j][1], dp[i][0] + "&(" + dp[j][2] + ")");
        orz(dp[i & j][1], dp[i][1] + "&" + dp[j][0]);
        orz(dp[i & j][1], dp[i][1] + "&" + dp[j][1]);
        orz(dp[i & j][1], dp[i][1] + "&(" + dp[j][2] + ")");
        orz(dp[i & j][1], "(" + dp[i][2] + ")&" + dp[j][0]);
        orz(dp[i & j][1], "(" + dp[i][2] + ")&" + dp[j][1]);
        orz(dp[i & j][1], "(" + dp[i][2] + ")&(" + dp[j][2] + ")");
      }
    }
    for (int i = 0; i < 256; ++i) {
      for (int j = 0; j < 256; ++j) {
        orz(dp[i | j][2], dp[i][0] + "|" + dp[j][0]);
        orz(dp[i | j][2], dp[i][0] + "|" + dp[j][1]);
        orz(dp[i | j][2], dp[i][0] + "|" + dp[j][2]);
        orz(dp[i | j][2], dp[i][1] + "|" + dp[j][0]);
        orz(dp[i | j][2], dp[i][1] + "|" + dp[j][1]);
        orz(dp[i | j][2], dp[i][1] + "|" + dp[j][2]);
        orz(dp[i | j][2], dp[i][2] + "|" + dp[j][0]);
        orz(dp[i | j][2], dp[i][2] + "|" + dp[j][1]);
        orz(dp[i | j][2], dp[i][2] + "|" + dp[j][2]);
      }
    }
  }
  int n;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> str;
    int k = 0;
    for (int j = 0; j < 8; ++j) {
      k = k * 2 + (str[j] - '0');
    }
    string ans = dp[k][0];
    orz(ans, dp[k][1]);
    orz(ans, dp[k][2]);
    cout << ans << endl;
  }
  return 0;
}
