#include<bits/stdc++.h>
using namespace std;
int n;
long long int ans=0;

int dist[500][500],vis[500][500];
bool in(int x,int y){
	return x>=0&&x<n&&y>=0&&y<n;
}
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};

void dfs(int x,int y){
	for(int i=0;i<4;i++){
		int nx=x+dx[i],ny=y+dy[i];
		if(in(nx,ny)){
			if(!vis[x][y]){
				if(dist[nx][ny]>dist[x][y]+1)
					dist[nx][ny]=dist[x][y]+1,dfs(nx,ny);
			}
			else{
				if(dist[nx][ny]>dist[x][y])
					dist[nx][ny]=dist[x][y],dfs(nx,ny);
			}
		}
	}
}

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin>>n;
	for(int i=0;i<n*n;i++){
		int x=i/n,y=i%n;
		dist[x][y]=min({x,n-1-x,y,n-1-y});
	}
	for(int i=1,x;i<=n*n;i++){
		cin>>x;
		x--;
		ans+=dist[x/n][x%n];
		vis[x/n][x%n]=true;
		dfs(x/n,x%n);
	}
	cout<<ans<<endl;
}
