#include<iostream>
#include<algorithm>
using namespace std;
const int N=105;
struct node{
int x,y,w;
}line[N*N];
bool cmp(node a,node b){
return a.w>b.w || (a.wb.w && a.x<b.x) || (a.wb.w && a.x==b.x && a.y<b.y);
}
int dx[]={-1,-1,-1,0,0,0,1,1,1};
int dy[]={-1,0,1,-1,0,1,-1,0,1};
int n;
int mp[N][N];
int li=0;
int ret_weight(int x,int y){
int ans=1;
for(int i=0;i<9;i++){
int tx=x+dx[i],ty=y+dy[i];
if(tx>=1 && tx<=n && ty>=1 && ty<=n){
ans*=mp[tx][ty];
}
}
return ans;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>mp[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
line[li]=node{i,j,ret_weight(i,j)};
}
}
sort(line+1,line+1+li,cmp);
cout<<line[1].x<<" "<<line[1].y<<"\n";
for(int i=2;i<=li;i){
if(line[i].w==line[1].w){
cout<<line[i].x<<" "<<line[i].y<<"\n";
}
}
return 0;
}