rt
#include <map>
#include <queue>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
int c;
string s, u, v;
queue<string> q;
map<string, int> dis;
map<string, string> pre;
map<string, bool> vis;
string A(string s) {
string k = "";
k += s[4];
k += s[5];
k += s[6];
k += s[7];
k += s[0];
k += s[1];
k += s[2];
k += s[3];
return k;
}
string B(string s) {
string k = "";
k += s[3];
k += s[0];
k += s[1];
k += s[2];
k += s[7];
k += s[4];
k += s[5];
k += s[6];
return k;
}
string C(string s) {
string k = "";
k += s[0];
k += s[5];
k += s[1];
k += s[3];
k += s[4];
k += s[6];
k += s[2];
k += s[7];
return k;
}
void bfs(string st) {
q.push(st);
pre[st] = "";
vis[st] = true;
while (q.size()) {
u = q.front();
q.pop();
v = A(u);
if (vis[v] ^ 1) {
pre[v] = pre[u] + 'A';
vis[v] = true;
dis[v] = dis[u] + 1;
q.push(v);
}
v = B(u);
if (vis[v] ^ 1) {
pre[v] = pre[u] + 'B';
vis[v] = true;
dis[v] = dis[u] + 1;
q.push(v);
}
v = C(u);
if (vis[v] ^ 1) {
pre[v] = pre[u] + 'C';
vis[v] = true;
dis[v] = dis[u] + 1;
q.push(v);
}
}
return ;
}
int main() {
for (int i = 1; i <= 8; i++) {
cin >> c;
s += char(c + 48);
}
bfs("12345678");
cout << dis[s] << endl << pre[s] << endl;
return 0;
}