#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
int a[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
int andian=0;
for(int i=0;i<n;i++){
int max=a[i][0];//定义每一行最大值初始为每行第一个
int max_col=0;//最小规模,矩阵只有一个元素
//找最大值
for(int j=1;j<n;j++){
if(max<=a[i][j]){
max=a[i][j];
max_col=j;//记录最大值的列
}
}
//判断该值在当前列是否是最小值
int found=1;
for(int k=0;k<n;k++){
if(a[k][max_col]<max){//如果存在比该值更小的数,说明该值不是该列最小
found=0;
break;
}
}
if(found==1){
printf("%d %d",i,max_col);
andian=1;//找到鞍点,终止全部循环
}
}
if(andian==0) printf("NONE\n");
return 0;
}