#include <bits/stdc++.h>
using namespace std;

int d[500][500],de[500][500];
#define REP(i,n) for(int i=0;i<n;i++)
typedef pair<int,int> P;
int dy[4]={-1,1,0,0},dx[4]={0,0,-1,1},ans;

signed main(){
  int n;cin>>n;
  REP(i,n)REP(j,n)d[i][j]=min({i,j,n-i-1,n-j-1});
  deque<P> que;
  REP(_,n*n){
    int a;cin>>a;a--;
    ans+=d[a/n][a%n];
    de[a/n][a%n]++;
    que.push_back(P(a/n,a%n));
    while(que.size()){
      P p=*que.begin();que.pop_front();
      int y=p.first,x=p.second;
      REP(i,4){
        int Y=y+dy[i],X=x+dx[i];
        if(Y<0||Y>=n||X<0||X>=n)continue;
        if(d[Y][X]<=d[y][x]+!de[y][x])continue;
        if(de[y][x]){
          d[Y][X]=d[y][x];
          que.push_front(P(Y,X));
        }
        else{
          d[Y][X]=d[y][x]+1;
          que.push_back(P(Y,X));
        }
      }
    }
  }
  cout<<ans<<endl;
}
