#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k;
  cin >> n;
  int n1 = 0, n2 = 1023;
  for (int i = 0; i < n; ++i) {
    char c;
    int num;
    cin >> c >> num;
    if (c == '|') {
      n1 = n1 | num;
      n2 = n2 | num;
    }
    if (c == '^') {
      n1 = n1 ^ num;
      n2 = n2 ^ num;
    }
    if (c == '&') {
      n1 = n1 & num;
      n2 = n2 & num;
    }
  }
  int base = 1;
  int xorNum = 0;
  int andNum = 0;
  int orNum = 0;
  for (int i = 0; i < 10; ++i) {
    int r1 = base & n1;
    int r2 = base & n2;
    if (r1 == 0 && r2 == 0) {
      andNum += 0;
    }
    if (r1 == 0 && r2 >= 1) {
      andNum += base;
    }
    if (r1 >= 1 && r2 == 0) {
      xorNum += base;
      andNum += base;
    }
    if (r1 >= 1 && r2 >= 1) {
      orNum += base;
      andNum += base;
    }
    base *= 2;
  }
  cout << 3 << endl;
  cout << "| " << orNum << endl;
  cout << "^ " << xorNum << endl;
  cout << "& " << andNum << endl;
  return 0;
}
