#include<iostream>
#include<queue>
#include<map>
#include<array>
using namespace std;
array<string,6>s;
bool check(string s)
{
	return s[6]=='*'||s[7]=='*'||s[8]=='*';
}
string rotate(string s,int dir)
{
	string ret="";
	if(dir==0)ret=s;
	else if(dir==1)
	{
		ret+=s[6];
		ret+=s[3];
		ret+=s[0];
		ret+=s[7];
		ret+=s[4];
		ret+=s[1];
		ret+=s[8];
		ret+=s[5];
		ret+=s[2];
	}
	else if(dir==2)
	{
		for(int i=9;i--;)ret+=s[i];
	}
	else if(dir==3)
	{
		ret+=s[2];
		ret+=s[5];
		ret+=s[8];
		ret+=s[1];
		ret+=s[4];
		ret+=s[7];
		ret+=s[0];
		ret+=s[3];
		ret+=s[6];
	}
	return ret;
}
int main()
{
	string input;
	while(cin>>input,input!="#")
	{
		string input2,input3;
		cin>>input2>>input3;
		s[0]=input+input2+input3;
		for(int i=1;i<6;i++)
		{
			cin>>input>>input2>>input3;
			s[i]=input+input2+input3;
		}
		map<array<string,6>,int>M;
		M[s]=0;
		queue<array<string,6> >P;
		P.push(s);
		while(true)
		{
			array<string,6>t=P.front();P.pop();
			int now=M[t];
			if(check(t[0])&&check(t[2]))
			{
				cout<<now<<endl;
				break;
			}
			{
				array<string,6>nxt;
				nxt[0]=rotate(t[5],0);
				nxt[1]=rotate(t[1],1);
				nxt[2]=rotate(t[4],2);
				nxt[3]=rotate(t[3],3);
				nxt[4]=rotate(t[0],0);
				nxt[5]=rotate(t[2],2);
				if(M.find(nxt)==M.end())
				{
					M[nxt]=now+1;
					P.push(nxt);
				}
			}
			{
				array<string,6>nxt;
				nxt[0]=rotate(t[4],0);
				nxt[1]=rotate(t[1],3);
				nxt[2]=rotate(t[5],2);
				nxt[3]=rotate(t[3],1);
				nxt[4]=rotate(t[2],2);
				nxt[5]=rotate(t[0],0);
				if(M.find(nxt)==M.end())
				{
					M[nxt]=now+1;
					P.push(nxt);
				}
			}
			{
				array<string,6>nxt;
				nxt[0]=rotate(t[0],1);
				nxt[1]=rotate(t[4],1);
				nxt[2]=rotate(t[2],3);
				nxt[3]=rotate(t[5],1);
				nxt[4]=rotate(t[3],1);
				nxt[5]=rotate(t[1],1);
				if(M.find(nxt)==M.end())
				{
					M[nxt]=now+1;
					P.push(nxt);
				}
			}
			{
				array<string,6>nxt;
				nxt[0]=rotate(t[0],3);
				nxt[1]=rotate(t[5],3);
				nxt[2]=rotate(t[2],1);
				nxt[3]=rotate(t[4],3);
				nxt[4]=rotate(t[1],3);
				nxt[5]=rotate(t[3],3);
				if(M.find(nxt)==M.end())
				{
					M[nxt]=now+1;
					P.push(nxt);
				}
			}
		}
	}
}

