#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
long a[4][4],p[4][4];
long calc()
{
	long res=0;
	for (long i=1; i<=3; ++i)
		for (long j=1; j<=3; ++j) res+=abs(a[i][j]-p[i][j]);
	return res;
}
int main()
{
	long res=999999999,cost;
	for (long i=1; i<=3; ++i)
		for (long j=1; j<=3; ++j) scanf("%ld",&a[i][j]);
	p[1][1]=8,p[1][2]=1,p[1][3]=6;
	p[2][1]=3,p[2][2]=5,p[2][3]=7;
	p[3][1]=4,p[3][2]=9,p[3][3]=2;
	cost=calc();
	res=min(res,cost);
	p[1][1]=6,p[1][2]=1,p[1][3]=8;
	p[2][1]=7,p[2][2]=5,p[2][3]=3;
	p[3][1]=2,p[3][2]=9,p[3][3]=4;
	cost=calc();
	res=min(res,cost);
	p[1][1]=4,p[1][2]=3,p[1][3]=8;
	p[2][1]=9,p[2][2]=5,p[2][3]=1;
	p[3][1]=2,p[3][2]=7,p[3][3]=6;
	cost=calc();
	res=min(res,cost);
	p[1][1]=2,p[1][2]=7,p[1][3]=6;
	p[2][1]=9,p[2][2]=5,p[2][3]=1;
	p[3][1]=4,p[3][2]=3,p[3][3]=8;
	cost=calc();
	res=min(res,cost);
	p[1][1]=8,p[1][2]=3,p[1][3]=4;
	p[2][1]=1,p[2][2]=5,p[2][3]=9;
	p[3][1]=6,p[3][2]=7,p[3][3]=2;
	cost=calc();
	res=min(res,cost);
	p[1][1]=6,p[1][2]=7,p[1][3]=2;
	p[2][1]=1,p[2][2]=5,p[2][3]=9;
	p[3][1]=8,p[3][2]=3,p[3][3]=4;
	cost=calc();
	res=min(res,cost);
	p[1][1]=4,p[1][2]=9,p[1][3]=2;
	p[2][1]=3,p[2][2]=5,p[2][3]=7;
	p[3][1]=8,p[3][2]=1,p[3][3]=6;
	cost=calc();
	res=min(res,cost);
	p[1][1]=2,p[1][2]=9,p[1][3]=4;
	p[2][1]=7,p[2][2]=5,p[2][3]=3;
	p[3][1]=6,p[3][2]=1,p[3][3]=8;
	cost=calc();
	res=min(res,cost);
	printf("%ld",res);
}