#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

const int maxn = 1e5+500;
ll T,n,m;
int s[1005][1005];
int ct[1005];
int vis[maxn];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=0;j<n-1;j++){
			scanf("%d",&s[i][j]);
		}
		ct[i] = 0;
	}
	int cnt = 0,sum=0;
	while(1){
		int flag=0;
		for(int i=1;i<=n;i++)
			vis[i] = 0;
		for(int i=1;i<=n;i++){
			int now = s[i][ct[i]];
			if(ct[i]>=n-1)
				continue;
			if(vis[now]){
				vis[i] = 1;
				continue;
			}
			if(vis[i])
				continue;
			if(i==s[now][ct[now]]&&!vis[i]&&!vis[now]){
				vis[i] = 1;
				vis[now]=1;
				ct[i]++;
				ct[now]++;
				flag = 1;
				sum++;
			}
		}
		if(!flag){
			printf("-1\n");
			return 0;
		}
		cnt++;
		if(sum==(n*(n-1)/2)){
			break;
		}
	}
	printf("%d\n",cnt);
	
}