#include <bits/stdc++.h>
using namespace std;
int n, b[20];
bool wie[20];
vector<int> x[20], a[20], o[20];
int co1[20], co2[20], co3[20];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    char c;
    int y;
    cin >> c >> y;
    if (c == '^') {
      for (int j = 0; j <= 11; j++) {
        if (y & (1 << j)) {
          x[j].push_back(1);
          if (wie[j]) b[j] ^= x[j].back();
        }
      }
    }
    if (c == '|') {
      for (int j = 0; j <= 11; j++) {
        if (y & (1 << j)) {
          wie[j] = 1;
          b[j] = 1;
          o[j].push_back(1);
        }
      }
    }
    if (c == '&') {
      for (int j = 0; j <= 11; j++) {
        if (!(y & (1 << j))) {
          wie[j] = 1;
          b[j] = 0;
          a[j].push_back(0);
        }
      }
    }
  }
  for (int i = 0; i < 10; i++) {
    if (wie[i]) {
      if (b[i] == 0) {
        co1[i] = 0;
        co2[i] = 0;
        co3[i] = 0;
      } else {
        co1[i] = 0;
        co2[i] = 1;
        co3[i] = 1;
      }
    } else {
      co1[i] = ((int)x[i].size()) % 2;
      co2[i] = 1;
      co3[i] = 0;
    }
  }
  cout << 3 << "\n";
  int p = 1, l = 0;
  for (int i = 0; i < 10; i++) {
    l += p * co1[i];
    p *= 2;
  }
  cout << "^ " << l << "\n";
  p = 1, l = 0;
  for (int i = 0; i < 10; i++) {
    l += p * co2[i];
    p *= 2;
  }
  cout << "& " << l << "\n";
  p = 1, l = 0;
  for (int i = 0; i < 10; i++) {
    l += p * co3[i];
    p *= 2;
  }
  cout << "| " << l << "\n";
  return 0;
}
