#include <bits/stdc++.h>
using namespace std;

int main() {
  int n; scanf("%d", &n);  
  vector<pair<int, int>> s[2];

  for(int i = 0; i < n; i++) {
    for(int j = 0; j < n; j++) {
      s[(i + j) & 1].emplace_back(i, j);
    }
  }

  int flag = -1;
  int cnt[2] = {0, 0};

  auto Output = [&](int b, pair<int, int> p) {
    printf("%d %d %d\n", b + 1, p.first + 1, p.second + 1);
    fflush(stdout);
  };
  for(int i = 0; i < n * n; i++) {
    int a; scanf("%d", &a);
    a--;
    int b;

    if(flag == -1) {
      if(a == 0) b = 1;
      else b = 0;
      Output(b, s[b][cnt[b]++]);
    }
    else {
      if(a == 2) b = flag;
      else b = 2;

      Output(b, s[flag][cnt[flag]++]);
    }

    if(cnt[0] == s[0].size()) flag = 1;
    if(cnt[1] == s[1].size()) flag = 0;
  }
  return 0;
}
