#include <bits/stdc++.h>
#define SIZE 505
using namespace std;

int dist[SIZE][SIZE];
bool used[SIZE][SIZE];
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
int n;

void dfs(int x,int y)
{
	for(int t=0;t<4;t++)
	{
		int nx=x+dx[t],ny=y+dy[t];
		if(0<=nx&&nx<n&&0<=ny&&ny<n)
		{
			if(dist[nx][ny]>dist[x][y]+(used[nx][ny]?1:0))
			{
				dist[nx][ny]=dist[x][y]+(used[nx][ny]?1:0);
				dfs(nx,ny);
			}
		}
	}
}
int main()
{
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			dist[i][j]=min(min(i+1,j+1),min(n-i,n-j));
			used[i][j]=true;
		}
	}
	int ret=0;
	for(int i=0;i<n*n;i++)
	{
		int p;
		scanf("%d",&p);p--;
		int x=p/n,y=p%n;
		dist[x][y]--;
		used[x][y]=false;
		dfs(x,y);
		ret+=dist[x][y];
	}
	printf("%d\n",ret);
}