#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

int main(){
	int n;
	while(cin >> n && n){
	
		int f[n][n];
		bool chk[2][n][n];
		memset(chk, false, sizeof(chk));
		
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				cin >> f[i][j];
			}
		}
		
		//horizontal
		for(int i=0;i<n;i++){
			int tmp = 1 << 28;
			for(int j=0;j<n;j++){
				tmp = min(tmp, f[i][j]);
			}
			for(int j=0;j<n;j++){
				if(f[i][j] == tmp){
					chk[0][i][j] = true;
				}
			}
		}
		
		//vertical
		for(int i=0;i<n;i++){
			int tmp = -1;
			for(int j=0;j<n;j++){
				tmp = max(tmp, f[j][i]);
			}
			for(int j=0;j<n;j++){
				if(f[j][i] == tmp){
					chk[1][j][i] = true;
				}
			}
		}
		
		bool isok=false;
		
		for(int i=0;i<n&&!isok;i++)
		for(int j=0;j<n&&!isok;j++){
			if(chk[0][i][j] && chk[1][i][j]){
				cout << f[i][j] << endl;
				isok = true;
			}
		}
		if(!isok) cout << 0 << endl;
	}
}