#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 10, M = 47, P = 1e9 + 7, INF = 1e9 + 7;
template <class T>
void fmax(T &a, T b) {
  a = max(a, b);
}
template <class T>
void fmin(T &a, T b) {
  a = min(a, b);
}
int n, m;
string s;
int t[1010][1010];
int ans[1010][2][2], t1[1010], t2[1010];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      scanf("%d", &t[i][j]);
    }
  }
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    ans += t[i][i];
  }
  scanf("%d", &m);
  for (int i = 1; i <= m; i++) {
    int a, b;
    scanf("%d", &a);
    if (a == 3) {
      printf("%d", ans & 1);
    } else {
      scanf("%d", &b);
      ans++;
    }
  }
}
