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

int data[11][11];
int px[3][13] = {{0, -1, 0, 1, 0},
		 {-1, 0, 1, -1, 0, 1, -1, 0, 1},
		 {0, -1, 0, 1, -2, -1, 0, 1, 2, -1, 0, 1, 0}};
int py[3][13] = {{-1, 0, 0, 0, 1},
		 {-1, -1, -1, 0, 0, 0, 1, 1, 1},
		 {-2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 1, 2}};
int pp[3] = {5, 9, 13};
bool fin = false;
bool memo[22][22][22];

bool check(int y, int x, int p){

  for(int i=0;i<pp[p];i++){
    int yy = y + py[p][i], xx = x + px[p][i];
    if(yy < 0 || xx < 0 || yy > 9 || xx > 9) return false;
    if(data[yy][xx] < 1) return false;
  }

  return true;
  
}

void mas(int y, int x, int p, int num){

  for(int i=0;i<pp[p];i++) data[y+py[p][i]][x+px[p][i]] += num;

}

bool judge(){

  for(int i=0;i<10;i++)
    for(int j=0;j<10;j++)
      if(data[i][j]) return false;

  return true;

}

bool solve(int p){

  int y = p / 10, x = p % 10;
  
  if(judge() || fin) return fin = true;
  if(p == 100) return false;
  
  //printf("%d %d %d\n", x, y, n);
  
    for(int i=0;i<3;i++){
      if(check(y, x, i)){
	mas(y, x, i, -1);
	solve(p+1);
	if(fin) printf("%d %d %d\n", x, y, i+1);
	mas(y, x, i, 1);
      }
    }

    solve(p+1);
  return false;
}
  
int main(){

  int n;
  cin >> n;
  for(int i=0;i<10;i++)
    for(int j=0;j<10;j++) cin >> data[i][j];
  
  solve(0);

}