#include <bits/stdc++.h>
using namespace std;
const int N=510;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1},n,wt[N][N],dis[N][N],ans;
int main() {
	cin>>n;
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			wt[i][j]=1;
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			dis[i][j]=min(i,min(n-1-i,min(j,n-1-j)));
	for(int i=0;i<n*n;i++){
		int x;
		cin>>x;
		x-=1;
		int u=x/n,v=x%n;
		ans+=dis[u][v];
		wt[u][v]=0;
		queue<pair<int,int>>q;
		q.push(make_pair(u,v));
		while(!q.empty()){
			int u=q.front().first,v=q.front().second;
			q.pop();
			for(int k=0;k<4;k++){
				int px=u+dx[k],py=v+dy[k];
				if(px>=0&&px<n&&py>=0&&py<n&&dis[px][py]>dis[u][v]+wt[u][v]){
					dis[px][py]=dis[u][v]+wt[u][v];
					q.push(make_pair(px,py));
				}
			}
		}
	}
	cout<<ans;
	return 0;
}