# n = 3
# rows = [[2, 1, 3], [1, 1, 1], [9, 2, 7]]
n = int(input())
rows = []
for i in range(n):
rows.append([int(x) for x in input().split(" ")])
unique_numbers = []
for i in range(n):
for j in range(n):
if(rows[i][j] not in unique_numbers):
unique_numbers.append(rows[i][j])
unique_numbers = sorted(unique_numbers)
def count_global(lambda_function):
c = 0
for i in range(n):
for j in range(n):
if lambda_function(rows[i][j]):
c += 1
return c
def count_elements(x, y, lambda_function):
c = 0
for i in range(n):
if lambda_function(rows[y][i]):
c += 1
if lambda_function(rows[i][x]):
c += 1
return c
cache = {}
cache[unique_numbers[0]] = count_global(lambda x: x == unique_numbers[0])
for i in range(1, len(unique_numbers)):
c = 0
for x in range(n):
for y in range(n):
if(rows[y][x] == unique_numbers[i]):
c += count_elements(x, y, lambda x: x < unique_numbers[i])
cache[unique_numbers[i]] = c + count_global(lambda x: x == unique_numbers[i])
def can_go_from(index):
s = 0
for i in range(index+1):
s += cache[unique_numbers[i]]
return s
answer = 0
for i in range(len(unique_numbers) - 1):
answer += can_go_from(i)
print(answer)