#include<bits/stdc++.h>
using namespace std;
int dx[]={0,0,1,-1},dy[]={1,-1,0,0};
int v[505][505],dis[505][505];
int n;
void dfs(int x,int y){
	for(int asp=0;asp<4;++asp){
		int x1=x+dx[asp],y1=y+dy[asp];
		if(dis[x][y]+v[x][y]<dis[x1][y1]){
			dis[x1][y1]=dis[x][y]+v[x][y];
			dfs(x1,y1);
		}
	}
}
int main(){
	int n; scanf("%d",&n);
	for(int i=1;i<=n;++i)
		for(int j=1;j<=n;++j){
			v[i][j]=1;
			dis[i][j]=min({i-1,j-1,n-i,n-j});
		}
	int ans=0;
	for(int i=1;i<=n*n;++i){
		int t; scanf("%d",&t);
		int x=(t-1)/n+1,y=(t-1)%n+1;
		v[x][y]=0;
		ans+=dis[x][y];
		dfs(x,y);
	}
	printf("%d\n",ans);
	return 0;
}