#include<bits/stdc++.h>
#define N 1500005

using namespace std;
typedef long long int ll;
typedef pair<int, int> pi;

int n;

vector<int> gr[N];

int cnt[N];
int input[1005][1005];

int main(){
	scanf("%d", &n);
	int x1, x2;
	int mn, mx;
	for(int i=1;i<=n;i++){
		for(int j=0;j<n-1;j++){
			scanf("%d", input[i]+j);
			x1=x2;
			mn=min(i, input[i][j]);
			mx=max(i, input[i][j]);
			x2=mn*(n+1)+mx;
			if(j){
				gr[x1].push_back(x2);
				cnt[x2]++;
			}
		}
	}
	queue<pi> q;
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			int x=i*(n+1)+j;
			if(!cnt[x]) q.push(pi(x, 1));
		}
	}
	int c=0;
	int ans=0;
	while(!q.empty()){
		pi t=q.front();
		q.pop();
		c++;
		ans=max(t.second, ans);
		for(auto &j : gr[t.first]){
			cnt[j]--;
			if(!cnt[j]) q.push(pi(j, t.second+1));
		}
	}
	if(c!=n*(n-1)/2){
		printf("-1\n");
	}
	else{
		printf("%d\n", ans);
	}
	return 0;
}