#include<stdio.h>

int main(void){

	int n;
	int a[1001][1000];
	int g[1001];
	int check[1002];
	int day;
	int f;

	int i,j;

	int match;
	int index;


	scanf("%d",&n);

	// プレイヤー番号は下駄をはかせて使う；
	for(i=1;i<n+1;i++){
		g[i] = 0;
		for(j=0;j<n-1;j++){
			scanf("%d",&a[i][j]);
		}
	}

	f = 1;
	day = 0;
	while(f==1){

		f = 0;
		index = 0;
		check[0] = -1;

		for(i=1;i<n+1;i++){
			// g[i]がプレイヤーiの次のゲーム数
	
			match = a[i][g[i]];

			// 番号が大きい方が相手（＝初めての参照）
			if(match > i){
				if(a[match][g[match]] == i){
					check[index] = i;
					check[index+1] = match;
					check[index+2] = -1; //番兵更新
					index += 2;
					f = 1;
				}
			}

		}

		index = 0;
		while(check[index] != -1){
			g[check[index]]++;
			index++;
		};
		day++;
	}
	

	f = 0;
	for(i=1;i<n+1;i++){
		if(g[i] != n-1){
			f = 1;
		}
	}

	if(f==1){
		printf("-1\n");
	}else{
		printf("%d\n",day-1);
	}



	return 0;
}