#include <cstdio>
#include <algorithm>
#include <vector>
#include <iostream>
#include <sstream>
#include <utility>
#include <string>
#include <cstring>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <map>
#include <bitset>
using namespace std;
int ch1();
void ch2(int);
void shift_down(int);
void shift_left(int);
vector <int> v(9),v1(9);
int main()
{
map <int,int> mp;
vector <string> res;
vector <int> num;
queue <int> qu;
string str,str1;
string st[6]={"1H","2H","3H","1V","2V","3V"};
int goal=123456789;
int t1,t2,t3;
mp[goal]=0;
qu.push(0);
num.push_back(goal);
res.push_back("");
t3=1;
while(!qu.empty())
{
t1=qu.front(); qu.pop();
ch2(num[t1]);
//horizontal
for(int i=0;i<3;i++)
{
v1=v;
shift_left(i);
t2=ch1();
if(mp.find(t2)==mp.end())
{
mp[t2]=t3;
qu.push(t3); t3++;
num.push_back(t2);
str=res[t1]+st[i];
res.push_back(str);
}
}
//vertical
for(int i=0;i<3;i++)
{
v1=v;
shift_down(i);
t2=ch1();
if(mp.find(t2)==mp.end())
{
mp[t2]=t3;
qu.push(t3); t3++;
num.push_back(t2);
str=res[t1]+st[i+3];
res.push_back(str);
}
}
}
while(scanf("%d",&v1[0]))
{
if(v1[0]==0) break;
for(int i=1;i<9;i++) scanf("%d",&v1[i]);
t1=ch1();
if(mp.find(t1)==mp.end()) printf("Not solvable\n");
else
{
t1=mp[t1];
printf("%d ",res[t1].length()/2);
for(int i=res[t1].length();i>=0;i--) printf("%c",res[t1][i]);
printf("\n");
}
}
return 0;
}
int ch1()
{
int ans=0;
for(int i=0;i<9;i++) {ans*=10; ans+=v1[i];}
return ans;
}
void ch2(int x)
{
for(int i=8;i>=0;i--) {v[i]=x%10; x=x/10;}
}
void shift_down(int x)
{
swap(v1[x],v1[x+6]); swap(v1[x+3],v1[x+6]);
}
void shift_left(int x)
{
x=x*3;
swap(v1[x],v1[x+2]); swap(v1[x+1],v1[x]);
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8Yml0c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGNoMSgpOwp2b2lkIGNoMihpbnQpOwp2b2lkIHNoaWZ0X2Rvd24oaW50KTsKdm9pZCBzaGlmdF9sZWZ0KGludCk7CnZlY3RvciA8aW50PiB2KDkpLHYxKDkpOwoKaW50IG1haW4oKQp7CiAgICBtYXAgPGludCxpbnQ+IG1wOwogICAgdmVjdG9yIDxzdHJpbmc+IHJlczsKCXZlY3RvciA8aW50PiBudW07CglxdWV1ZSA8aW50PiBxdTsKCXN0cmluZyAgc3RyLHN0cjE7CglzdHJpbmcgc3RbNl09eyIxSCIsIjJIIiwiM0giLCIxViIsIjJWIiwiM1YifTsKCglpbnQgZ29hbD0xMjM0NTY3ODk7CglpbnQgdDEsdDIsdDM7CgoJbXBbZ29hbF09MDsKCXF1LnB1c2goMCk7IAoJbnVtLnB1c2hfYmFjayhnb2FsKTsKCXJlcy5wdXNoX2JhY2soIiIpOwoJdDM9MTsKCXdoaWxlKCFxdS5lbXB0eSgpKQoJewoJCXQxPXF1LmZyb250KCk7IHF1LnBvcCgpOwoJCWNoMihudW1bdDFdKTsKCQkvL2hvcml6b250YWwgCgkJZm9yKGludCBpPTA7aTwzO2krKykKCQl7CgkJCXYxPXY7CgkJCXNoaWZ0X2xlZnQoaSk7CgkJCXQyPWNoMSgpOwoJCQlpZihtcC5maW5kKHQyKT09bXAuZW5kKCkpCgkJCXsKCQkJCQoJCQkJbXBbdDJdPXQzOwoJCQkJcXUucHVzaCh0Myk7IHQzKys7CgkJCQludW0ucHVzaF9iYWNrKHQyKTsKCQkJCXN0cj1yZXNbdDFdK3N0W2ldOwoJCQkJcmVzLnB1c2hfYmFjayhzdHIpOwoJCQl9CgkJfQoJCS8vdmVydGljYWwKCQlmb3IoaW50IGk9MDtpPDM7aSsrKQoJCXsKCQkJdjE9djsKCQkJc2hpZnRfZG93bihpKTsKCQkJdDI9Y2gxKCk7CgkJCWlmKG1wLmZpbmQodDIpPT1tcC5lbmQoKSkKCQkJewoJCQkJCgkJCQltcFt0Ml09dDM7CgkJCQlxdS5wdXNoKHQzKTsgdDMrKzsKCQkJCW51bS5wdXNoX2JhY2sodDIpOwoJCQkJc3RyPXJlc1t0MV0rc3RbaSszXTsKCQkJCXJlcy5wdXNoX2JhY2soc3RyKTsKCQkJfQoJCX0KCX0KCgoJd2hpbGUoc2NhbmYoIiVkIiwmdjFbMF0pKQoJewoJCWlmKHYxWzBdPT0wKSBicmVhazsKCQlmb3IoaW50IGk9MTtpPDk7aSsrKSBzY2FuZigiJWQiLCZ2MVtpXSk7CgoJCXQxPWNoMSgpOwoJCQkJCgkJaWYobXAuZmluZCh0MSk9PW1wLmVuZCgpKSBwcmludGYoIk5vdCBzb2x2YWJsZVxuIik7CgkJZWxzZSAKCQl7CgkJCXQxPW1wW3QxXTsKCQkJcHJpbnRmKCIlZCAiLHJlc1t0MV0ubGVuZ3RoKCkvMik7CgkJCWZvcihpbnQgaT1yZXNbdDFdLmxlbmd0aCgpO2k+PTA7aS0tKSBwcmludGYoIiVjIixyZXNbdDFdW2ldKTsKCQkJcHJpbnRmKCJcbiIpOwoJCX0KCX0KCglyZXR1cm4gMDsKfQoKCmludCBjaDEoKQp7CglpbnQgYW5zPTA7Cglmb3IoaW50IGk9MDtpPDk7aSsrKSB7YW5zKj0xMDsgYW5zKz12MVtpXTt9CglyZXR1cm4gYW5zOwp9Cgp2b2lkIGNoMihpbnQgeCkKewoJZm9yKGludCBpPTg7aT49MDtpLS0pIHt2W2ldPXglMTA7IHg9eC8xMDt9Cn0KCnZvaWQgc2hpZnRfZG93bihpbnQgeCkKewoJc3dhcCh2MVt4XSx2MVt4KzZdKTsgc3dhcCh2MVt4KzNdLHYxW3grNl0pOwp9Cgp2b2lkIHNoaWZ0X2xlZnQoaW50IHgpCnsKICAgIHg9eCozOwoJc3dhcCh2MVt4XSx2MVt4KzJdKTsgc3dhcCh2MVt4KzFdLHYxW3hdKTsKfQ==
MiAzIDEKNCA1IDYKNyA4IDkKCjcgMyA5CjIgNSAxCjQgOCA2CgoxIDIgMwo0IDUgNgo3IDkgOAoKMyA3IDIgCjEgNSA2CjQgOCA5CgozIDIgMQo0IDUgNgo3IDggOQoKMiAzIDEKNSA2IDQKOCA5IDcKCjIgMyA3CjUgNiAxCjggOSA0CgozIDcgMgo1IDYgMQo4IDkgNAoKMyA3IDIKMSA1IDYKOCA5IDQKMA==
2 3 1
4 5 6
7 8 9
7 3 9
2 5 1
4 8 6
1 2 3
4 5 6
7 9 8
3 7 2
1 5 6
4 8 9
3 2 1
4 5 6
7 8 9
2 3 1
5 6 4
8 9 7
2 3 7
5 6 1
8 9 4
3 7 2
5 6 1
8 9 4
3 7 2
1 5 6
8 9 4
0