#include <bits/stdc++.h>
const int maxN = 505;
int N;
int h[maxN][2 * maxN];
int v[maxN][2 * maxN];
int p[maxN * maxN];
void addt(int *t, int i, int x) {
  for (i += N; i > 0; i /= 2) {
    t[i] += x;
  }
}
int gett(int *t, int l, int r) {
  if (l == r) {
    return t[N + l];
  }
  int sum = t[N + l] + t[N + r];
  for (l += N, r += N; (l / 2) != (r / 2); l /= 2, r /= 2) {
    if (l % 2 == 0) {
      sum += t[l + 1];
    }
    if (r % 2 == 1) {
      sum += t[r - 1];
    }
  }
  return sum;
}
void add(int i, int j, int x) {
  addt(h[i], j, x);
  addt(v[j], i, x);
}
int get(int i, int j) {
  int a = gett(h[i], 0, j);
  int b = gett(h[i], j, N - 1);
  int c = gett(v[j], 0, i);
  int d = gett(v[j], i, N - 1);
  return std::min(std::min(a, b), std::min(c, d)) - 1;
}
int main() {
  std::cin >> N;
  for (int i = 0; i < N * N; ++i) {
    std::cin >> p[i];
    p[i] -= 1;
  }
  for (int i = 0; i < N; ++i) {
    for (int j = 0; j < N; ++j) {
      add(i, j, 1);
    }
  }
  int res = 0;
  for (int k = 0; k < N * N; ++k) {
    int i = p[k] / N;
    int j = p[k] % N;
    res += get(i, j);
    add(i, j, -1);
  }
  std::cout << res << std::endl;
  return 0;
}
