#! /bin/sh while read x do echo "$x" | awk 'BEGIN { r[0,1] = 5; r[0,5] = 7; r[0,7] = 3; r[0,3] = 1; r[0,2] = 6; r[0,6] = 8; r[0,8] = 4; r[0,4] = 2; r[1,1] = 2; r[1,2] = 6; r[1,6] = 5; r[1,5] = 1; r[1,3] = 4; r[1,4] = 8; r[1,8] = 7; r[1,7] = 3; r[2,1] = 3; r[2,3] = 4; r[2,4] = 2; r[2,2] = 1; r[2,5] = 7; r[2,7] = 8; r[2,8] = 6; r[2,6] = 5; d[0,1] = 1; d[0,2] = 2; d[0,3] = 6; d[0,4] = 5; d[0,5] = 3; d[0,6] = 4; d[1,1] = 5; d[1,2] = 6; d[1,3] = 3; d[1,4] = 4; d[1,5] = 2; d[1,6] = 1; d[2,1] = 4; d[2,2] = 3; d[2,3] = 1; d[2,4] = 2; d[2,5] = 5; d[2,6] = 6; } { pend[0] = $0; pendr[0] = "012345"; pending[$0] = 1; done[0] = 0; delete done[0]; npend = 1; while (npend > 0) { npend --; p = pend[npend]; dr = pendr[npend]; delete pending[p]; for (x=2;x>=0;x--) { rp = substr(p,r[x,1],1) substr(p,r[x,2],1) substr(p,r[x,3],1) substr(p,r[x,4],1) substr(p,r[x,5],1) substr(p,r[x,6],1) substr(p,r[x,7],1) substr(p,r[x,8],1); rr = substr(dr,d[x,1],1) substr(dr,d[x,2],1) substr(dr,d[x,3],1) substr(dr,d[x,4],1) substr(dr,d[x,5],1) substr(dr,d[x,6],1); if ((rp in done) || (rp in pending)) { } else { pend[npend] = rp; pendr[npend] = rr; pending[rp] = 1; npend ++; } } done[p] = dr; } for (p in done) print p " " done[p]; }' done