# coding: utf-8
N = gets().to_i
btls = []
cidx = {}
N.times do |i|
  btls << gets().chomp!.split(" ").map{|e| e.to_i}
  cidx[i] = 0
end

ans = 0
# 戦闘開始
N.times do |i|
  
  vlist = []
  # 互いに対戦相手である相手を見つける
  cidx.each do |i, v|
    # すでに戦闘済みか全戦終了済みだったらスキップ
    next if vlist.include?(i) or v == N-1
    
    vs = btls[i][v] - 1
    # 相手の対戦順序と同じかどうか？
    if i+1 == btls[vs][cidx[vs]]
      vlist << i << vs
    end
  end
  if vlist.empty?
    # 対戦がなければ終了
    puts -1
    exit 0
  else
    # 戦った人のindexを進める
    vlist.each do |i|
      cidx[i] += 1
    end

    # 日数のカウントアップ
    ans += 1
  end
end

puts ans

