#include<bits/stdc++.h>
using namespace std;
int a,b,c,d,e,zx,xc,i,j,f[509][509],dp[509][509],ii,jj,pas,bo[509][509];
pair <int, int> p[500009];
void check(int q, int w);
void dfs(int q, int w);
void check(int q, int w, int rr){
	if(q<0||q>a||w<0||w>a) return;
	if(dp[q][w]>rr){
		dp[q][w]=rr;
		dfs(q,w);
	}
}
void dfs(int q, int w){
	check(q-1,w,dp[q][w]+bo[q][w]);
	check(q+1,w,dp[q][w]+bo[q][w]);
	check(q,w-1,dp[q][w]+bo[q][w]);
	check(q,w+1,dp[q][w]+bo[q][w]);
}
int main(){
	ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>a;
	for(i=1; i<=a*a; i++){
		cin>>b;
		c=(b-1)/a+1;
		if(b%a==0) d=a; else d=b%a;
		p[i].first=c;p[i].second=d;
		f[c][d]=i;
	}
	for(i=1; i<=a; i++){
		for(j=1; j<=a; j++){
			dp[i][j]=min(min(i-1,a-i),min(j-1,a-j));
			bo[i][j]=1;
		}
	}
	for(i=1; i<=a*a; i++){
		c=p[i].first;d=p[i].second;
		bo[c][d]=0;
		pas+=dp[c][d];
		dfs(c,d);
	}
	cout<<pas;
	return 0;
}