#include<cstdio>
#include<algorithm>
using namespace std;
const int N=555;
int a[N*N],d[N*N],f[N*N];
int vis[N][N];
int n,m,k,tot;
int dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};
void dfs(int x,int y,int z){
	z=z+(vis[x][y]^1);
	for (int i=0; i<4; i++){
		int p=x+dx[i],q=y+dy[i];
		if (p<1||p>n||q<1||q>n)	continue;
		if (d[(p-1)*n+q]>z){
			d[(p-1)*n+q]=z;
			dfs(p,q,z);
		}
	}
}
int main(){
    scanf("%d",&n);
    for (int i=1; i<=n; i++)
		for (int j=1; j<=n; j++)
			d[(i-1)*n+j]=min(min(i-1,n-i),min(j-1,n-j));
    for (int i=1; i<=n*n; i++)
		scanf("%d",&a[i]);
	int ans=0;
	for (int i=1; i<=n*n; i++){
		ans=ans+d[a[i]];
		int x=(a[i]-1)/n+1;
		int y=a[i]-(x-1)*n;
		vis[x][y]=1;
		dfs(x,y,d[a[i]]);
	}
	printf("%d\n",ans);
    return 0;
}