#include<bits/stdc++.h>
using namespace std;
string c,s="123804765";
int x,ans,step;
void dfs(int x){
if(c==s){ans=min(ans,step);return;}
if(x==0){
step++;
swap(c[0],c[1]);
dfs(1);
swap(c[0],c[1]);
swap(c[0],c[3]);
dfs(1);
swap(c[0],c[3]);
}
else if(x==1){
step++;
swap(c[1],c[0]);
dfs(0);
swap(c[1],c[0]);
swap(c[1],c[4]);
dfs(4);
swap(c[1],c[4]);
swap(c[1],c[3]);
dfs(3);
swap(c[1],c[3]);
}
else if(x==2){
step++;
swap(c[2],c[1]);
dfs(1);
swap(c[2],c[1]);
swap(c[2],c[5]);
dfs(5);
swap(c[2],c[4]);
}
else if(x==3){
step++;
swap(c[3],c[0]);
dfs(0);
swap(c[3],c[0]);
swap(c[3],c[4]);
dfs(4);
swap(c[3],c[4]);
swap(c[3],c[7]);
dfs(7);
swap(c[3],c[7]);
}
else if(x==4){
step++;
swap(c[4],c[1]);
dfs(1);
swap(c[4],c[1]);
swap(c[4],c[3]);
dfs(3);
swap(c[4],c[3]);
swap(c[4],c[5]);
dfs(5);
swap(c[4],c[5]);
swap(c[4],c[7]);
dfs(7);
swap(c[4],c[7]);
}
else if(x==5){
step++;
swap(c[5],c[2]);
dfs(2);
swap(c[5],c[2]);
swap(c[5],c[4]);
dfs(4);
swap(c[5],c[4]);
swap(c[5],c[8]);
dfs(8);
swap(c[5],c[8]);
}
else if(x==6){
step++;
swap(c[6],c[3]);
dfs(3);
swap(c[6],c[3]);
swap(c[6],c[7]);
dfs(7);
swap(c[6],c[7]);
}
else if(x==7){
step++;
swap(c[7],c[4]);
dfs(4);
swap(c[7],c[4]);
swap(c[7],c[6]);
dfs(6);
swap(c[7],c[6]);
swap(c[7],c[8]);
dfs(8);
swap(c[7],c[8]);
}
else {
step++;
swap(c[8],c[5]);
dfs(5);
swap(c[8],c[5]);
swap(c[8],c[7]);
dfs(7);
swap(c[8],c[7]);
}
cout<<x<<endl;
}
int main(){
for(int i=0;i<8;i++){
cin>>c[i];
if(c[i]=='0') x=i;
}
dfs(x);
cout<<ans<<endl;
return 0;
}