#include <bits/stdc++.h>
using namespace std;
const int N = 5000010;
int n;
bool a[20], b[20];
char ch[20];
string a1, a2, a3;
int main() {
  for (int i = 0; i < 10; ++i) {
    a[i] = 0;
    b[i] = 1;
  }
  bool kk = 0, e = 2;
  cin >> n;
  while (n--) {
    int num;
    scanf("%s%d", ch, &num);
    for (int i = 9, j = 0; i >= 0; --i, ++j) {
      bool ss = (num >> i) & 1;
      if (ch[0] == '&') {
        b[i] &= ss;
        a[i] &= ss;
      } else if (ch[0] == '|') {
        b[i] |= ss;
        a[i] |= ss;
      } else
        b[i] ^= ss, a[i] ^= ss;
    }
  }
  for (int i = 0; i < 10; ++i) {
    if (b[i] == 0 && a[i] == 0) {
      a1.push_back('1');
      a2.push_back('1');
      a3.push_back('1');
    } else if (b[i] == 1 && a[i] == 1) {
      a1.push_back('1');
      a2.push_back('1');
      a3.push_back('0');
    } else if (b[i] == 1 && a[i] == 0) {
      a1.push_back('1');
      a2.push_back('0');
      a3.push_back('0');
    } else {
      a1.push_back('1');
      a2.push_back('0');
      a3.push_back('1');
    }
  }
  cout << 3 << endl;
  int num1 = 0, num2 = 0, num3 = 0, ba = 1;
  for (int i = 0; i < 10; ++i) {
    num1 += (a1[i] - '0') * ba;
    num2 += (a2[i] - '0') * ba;
    num3 += (a3[i] - '0') * ba;
    ba *= 2;
  }
  cout << "& " << num1 << endl;
  cout << "| " << num2 << endl;
  cout << "^ " << num3 << endl;
}
