n = int(input()) F = [list(map(int, input().split())) for _ in range(n)] for i in range(n): for j in range(n): for k in range(n): ij = F[i][j] ijk1 = F[ij][k] jk = F[j][k] ijk2 = F[i][jk] if ijk1 != ijk2: print("No") exit() e = -1 for i in range(n): exist_e = True for j in range(n): if F[i][j] != j: exist_e = False break if exist_e: e = i break if e == -1: print("No") exit() Invs = [-1 for _ in range(n)] for i in range(n): for j in range(n): if F[i][j] == e: if Invs[i] == -1: Invs[i] = j break else: if Invs[j] != i: print("No") exit() if Invs[i] == -1: print("No") exit() print("Yes")