#include<bits/stdc++.h>
using namespace std;
int x2,y2;
char pan[3][3],pan1[3][3],pan2[3][3]={{1,2,3},{8,0,4},{7,6,5}};
int qw[5][2]={{-1,0},{0,-1},{0,+1},{-1,0}};
int main(){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>pan[i][j];
pan1[i][j]=pan[i][j];
if(pan[i][j]==0){
x2=i;
y2=j;
}
}
}
int use=0;
int er=1;
while(er){
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(pan[i][j]==pan2[1][j]&&pan[i][j]!=0){
pan1[i][j]=-1;
}
else if(pan[i][j]==0){
for(int oo=0;oo<=4;oo++){
for(int ee=0;00<2;ee++){
if(pan[i+qw[oo][ee]][j+qw[oo][ee+1]]==pan2[x2][y2]){
x2=i+qw[oo][ee];
y2=j+qw[oo][ee+1];
pan[i+qw[oo][ee]][j+qw[oo][ee+1]]=0;
use++;
}
}
}
}
}
}
for(int i=0;i<3;i++){
for(int j=0;j<=3;j++){
if(pan[i][j]!=pan2[i][j]){
er=1;
}
else{
er=0;
}
}
}
}
cout<<use;
return 0;
}