#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define pii pair<int, int>
#define fi first
#define se second
#pragma GCC optimize("03,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
using namespace std;
const int MOD = 1e9 + 7;
struct Node {
string cur;
int cnt;
};
string trai(string s)
{
string t = s;
t[0] = s[3];
t[1] = s[0];
t[8] = s[5];
t[5] = s[1];
t[7] = s[8];
t[3] = s[7];
return t;
}
string phai(string s)
{
string t = s;
t[1] = s[4];
t[2] = s[1];
t[6] = s[2];
t[9] = s[6];
t[8] = s[9];
t[4] = s[8];
return t;
}
string trai1(string s)
{
string t = s;
t[3] = s[0];
t[0] = s[1];
t[5] = s[8];
t[1] = s[5];
t[8] = s[7];
t[7] = s[3];
return t;
}
string phai1(string s)
{
string t = s;
t[4] = s[1];
t[1] = s[2];
t[2] = s[6];
t[6] = s[9];
t[9] = s[8];
t[8] = s[4];
return t;
}
string dich = "1238004765";
string st ="";
int BFS()
{
queue<string> q;
unordered_map<string, int> m;
q.push(st);
m[st] = 0;
while (!q.empty())
{
string p = q.front();
q.pop();
int dem = m[p] + 1;
string l = trai(p);
if (!m[l])
{
m[l] = dem;
q.push(l);
}
string r = phai(p);
if (!m[r])
{
m[r] = dem;
q.push(r);
}
if (dem == 14) break;
}
queue<string> q1;
unordered_map<string, int> mp;
q1.push(dich);
mp[dich] = 0;
int ans = MOD;
while (!q1.empty())
{
string p = q1.front();
q1.pop();
if (m[p] && ans > m[p] + mp[p]) ans = m[p] + mp[p];
int dem = mp[p] + 1;
string l = trai1(p);
if (!mp[l])
{
mp[l] = dem;
q1.push(l);
}
string r = phai1(p);
if (!mp[r])
{
mp[r] = dem;
q1.push(r);
}
if (dem == 14) break;
}
return ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
for (int i=0; i<10; ++i)
{
int x;
cin >> x;
st += to_string(x);
}
cout << BFS();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBwaWkgcGFpcjxpbnQsIGludD4KI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojcHJhZ21hIEdDQyBvcHRpbWl6ZSgiMDMsdW5yb2xsLWxvb3BzIikKI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngyLGJtaSxibWkyLGx6Y250LHBvcGNudCIpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwoKc3RydWN0IE5vZGUgewogICAgc3RyaW5nIGN1cjsKICAgIGludCBjbnQ7Cn07CgpzdHJpbmcgdHJhaShzdHJpbmcgcykKewogICAgc3RyaW5nIHQgPSBzOwogICAgdFswXSA9IHNbM107CiAgICB0WzFdID0gc1swXTsKICAgIHRbOF0gPSBzWzVdOwogICAgdFs1XSA9IHNbMV07CiAgICB0WzddID0gc1s4XTsKICAgIHRbM10gPSBzWzddOwogICAgcmV0dXJuIHQ7Cn0Kc3RyaW5nIHBoYWkoc3RyaW5nIHMpCnsKICAgIHN0cmluZyB0ID0gczsKICAgIHRbMV0gPSBzWzRdOwogICAgdFsyXSA9IHNbMV07CiAgICB0WzZdID0gc1syXTsKICAgIHRbOV0gPSBzWzZdOwogICAgdFs4XSA9IHNbOV07CiAgICB0WzRdID0gc1s4XTsKICAgIHJldHVybiB0Owp9CnN0cmluZyB0cmFpMShzdHJpbmcgcykKewogICAgc3RyaW5nIHQgPSBzOwogICAgdFszXSA9IHNbMF07CiAgICB0WzBdID0gc1sxXTsKICAgIHRbNV0gPSBzWzhdOwogICAgdFsxXSA9IHNbNV07CiAgICB0WzhdID0gc1s3XTsKICAgIHRbN10gPSBzWzNdOwogICAgcmV0dXJuIHQ7Cn0Kc3RyaW5nIHBoYWkxKHN0cmluZyBzKQp7CiAgICBzdHJpbmcgdCA9IHM7CiAgICB0WzRdID0gc1sxXTsKICAgIHRbMV0gPSBzWzJdOwogICAgdFsyXSA9IHNbNl07CiAgICB0WzZdID0gc1s5XTsKICAgIHRbOV0gPSBzWzhdOwogICAgdFs4XSA9IHNbNF07CiAgICByZXR1cm4gdDsKfQpzdHJpbmcgZGljaCA9ICIxMjM4MDA0NzY1IjsKc3RyaW5nIHN0ID0iIjsKaW50IEJGUygpCnsKICAgIHF1ZXVlPHN0cmluZz4gcTsKICAgIHVub3JkZXJlZF9tYXA8c3RyaW5nLCBpbnQ+IG07CiAgICBxLnB1c2goc3QpOwogICAgbVtzdF0gPSAwOwogICAgd2hpbGUgKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgc3RyaW5nIHAgPSBxLmZyb250KCk7CiAgICAgICAgcS5wb3AoKTsKICAgICAgICBpbnQgZGVtID0gbVtwXSArIDE7CiAgICAgICAgc3RyaW5nIGwgPSB0cmFpKHApOwogICAgICAgIGlmICghbVtsXSkKICAgICAgICB7CiAgICAgICAgICAgIG1bbF0gPSBkZW07CiAgICAgICAgICAgIHEucHVzaChsKTsKICAgICAgICB9CiAgICAgICAgc3RyaW5nIHIgPSBwaGFpKHApOwogICAgICAgIGlmICghbVtyXSkKICAgICAgICB7CiAgICAgICAgICAgIG1bcl0gPSBkZW07CiAgICAgICAgICAgIHEucHVzaChyKTsKICAgICAgICB9CiAgICAgICAgaWYgKGRlbSA9PSAxNCkgYnJlYWs7CiAgICB9CiAgICBxdWV1ZTxzdHJpbmc+IHExOwogICAgdW5vcmRlcmVkX21hcDxzdHJpbmcsIGludD4gbXA7CiAgICBxMS5wdXNoKGRpY2gpOwogICAgbXBbZGljaF0gPSAwOwogICAgaW50IGFucyA9IE1PRDsKICAgIHdoaWxlICghcTEuZW1wdHkoKSkKICAgIHsKICAgICAgICBzdHJpbmcgcCA9IHExLmZyb250KCk7CiAgICAgICAgcTEucG9wKCk7CiAgICAgICAgaWYgKG1bcF0gJiYgYW5zID4gbVtwXSArIG1wW3BdKSBhbnMgPSBtW3BdICsgbXBbcF07CiAgICAgICAgaW50IGRlbSA9IG1wW3BdICsgMTsKICAgICAgICBzdHJpbmcgbCA9IHRyYWkxKHApOwogICAgICAgIGlmICghbXBbbF0pCiAgICAgICAgewogICAgICAgICAgICBtcFtsXSA9IGRlbTsKICAgICAgICAgICAgcTEucHVzaChsKTsKICAgICAgICB9CiAgICAgICAgc3RyaW5nIHIgPSBwaGFpMShwKTsKICAgICAgICBpZiAoIW1wW3JdKQogICAgICAgIHsKICAgICAgICAgICAgbXBbcl0gPSBkZW07CiAgICAgICAgICAgIHExLnB1c2gocik7CiAgICAgICAgfQogICAgICAgIGlmIChkZW0gPT0gMTQpIGJyZWFrOwogICAgfQogICAgcmV0dXJuIGFuczsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGZvciAoaW50IGk9MDsgaTwxMDsgKytpKSAKICAgIHsKICAgICAgICBpbnQgeDsKICAgICAgICBjaW4gPj4geDsKICAgICAgICBzdCArPSB0b19zdHJpbmcoeCk7CiAgICB9CiAgICBjb3V0IDw8IEJGUygpOwp9