require 'matrix'
n = gets.to_i
p = gets.split.map(&:to_i)
a = Matrix.build(n){1}
ans = 0
p.each do |x|
  a[(x - 1) / n, (x - 1) % n] = 0
  b = Matrix.zero(n + 2)
  b[(x - 1) / n, (x - 1) % n] = 1
  c = Matrix.zero(n + 2)
  cnt = 0
  d = []
  q = []
  q << x
  while q.size > 0
    y = q.shift
    b[(y - 1) / n, (y - 1) % n] = 1
    cnt = c[(y - 1) / n, (y - 1) % n]
    z = y + 1
    if z % n == 1
      d << c[(y - 1) / n, (y - 1) % n]
    elsif b[(z - 1) / n, (z - 1) % n] == 0
      b[(z - 1) / n, (z - 1) % n] = 1
      c[(z - 1) / n, (z - 1) % n] = a[(z - 1) / n, (z - 1) % n] + cnt
      q << z
    end
    z = y - 1
    if z % n == 0
      d << c[(y - 1) / n, (y - 1) % n]
    elsif b[(z - 1) / n, (z - 1) % n] == 0
      b[(z - 1) / n, (z - 1) % n] = 1
      c[(z - 1) / n, (z - 1) % n] = a[(z - 1) / n, (z - 1) % n] + cnt
      q << z
    end
    z = y + n
    if z > n * n
      d << c[(y - 1) / n, (y - 1) % n]
    elsif b[(z - 1) / n, (z - 1) % n] == 0
      b[(z - 1) / n, (z - 1) % n] = 1
      c[(z - 1) / n, (z - 1) % n] = a[(z - 1) / n, (z - 1) % n] + cnt
      q << z
    end
    z = y - n
    if z <= 0
      d << c[(y - 1) / n, (y - 1) % n]
    elsif b[(z - 1) / n, (z - 1) % n] == 0
      b[(z - 1) / n, (z - 1) % n] = 1
      c[(z - 1) / n, (z - 1) % n] = a[(z - 1) / n, (z - 1) % n] + cnt
      q << z
    end
  end
  ans += d.min
end
puts ans