#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;

}

void solve(int y, int x, int n){

  if(fin) return;
  if(judge()){
    cout << x << " " << y << " " << n + 1 << endl;
    fin = true;
    return;
  }

  for(int i=0;i<10 && !fin;i++){
    for(int j=0;j<10 && !fin;j++){
      for(int k=2;k>-1;k--){
	if(check(i, j, k)){
	  mas(i, j, k, -1);
	  if(!fin) solve(i, j, k);
	  mas(i, j, k, 1);
	}
      }
    }
  }

  if(fin) cout << x << " " << y << " " << n+1 << endl;
}

int main(){

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

  for(int i=0;i<10;i++){
    for(int j=0;j<10;j++){
      for(int k=2;k>-1;k--){
	if(check(i, j, k)){
	  mas(i, j, k, -1);
	  if(!fin) solve(i, j, k);
	  mas(i, j, k, 1);
	}
      }
    }
  }

}