#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char map[10][10];
char sign_map_f[2][10][10]={0},sign_map_c[2][10][10]={0};
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
cin>>map[i][j];
char direction_c[4]={'n','e','s','w'},direction_f[4]={'n','e','s','w'};
int i_c,j_c,i_f,j_f,n_c=0,n_f=0;
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
{
if(map[i][j]=='C') i_c=i,j_c=j;
if(map[i][j]=='F') i_f=i,j_f=j;
}
int des_c_i=i_c,des_c_j=j_c,des_f_i=i_f,des_f_j=j_f;
int step=0;
while(1)
{
n_c%=4,n_f%=4;
sign_map_c[1][i_c][j_c]=1;
sign_map_c[0][i_c][j_c]=n_c;
sign_map_f[1][i_f][j_f]=1;
sign_map_f[0][i_f][j_f]=n_f;
if(direction_c[n_c]=='w')
{
if(j_c>0 && map[i_c][j_c-1]!='*')
{
map[i_c][j_c]='.';
j_c--;
map[i_c][j_c]='C';
}
else
{
n_c++;
}
}
if(direction_c[n_c]=='s')
{
if(i_c<9 && map[i_c+1][j_c]!='*')
{
map[i_c][j_c]='.';
i_c++;
map[i_c][j_c]='C';
}
else
{
n_c++;
}
}
if(direction_c[n_c]=='e')
{
if(j_c<9 && map[i_c][j_c+1]!='*')
{
map[i_c][j_c]='.';
j_c++;
map[i_c][j_c]='C';
}
else
{
n_c++;
}
}
if(direction_c[n_c]=='n')
{
if(i_c>0 && map[i_c-1][j_c]!='*')
{
map[i_c][j_c]='.';
i_c--;
map[i_c][j_c]='C';
}
else
{
n_c++;
}
}
if(direction_f[n_f]=='w')
{
if(j_f>0 && map[i_f][j_f-1]!='*')
{
map[i_f][j_f]='.';
j_f--;
map[i_f][j_f]='F';
}
else
{
n_f++;
}
}
if(direction_f[n_f]=='s')
{
if(i_f<9 && map[i_f+1][j_f]!='*')
{
map[i_f][j_f]='.';
i_f++;
map[i_f][j_f]='F';
}
else
{
n_f++;
}
}
if(direction_f[n_f]=='e')
{
if(j_f<9 && map[i_f][j_f+1]!='*')
{
map[i_f][j_f]='.';
j_f++;
map[i_f][j_f]='F';
}
else
{
n_f++;
}
}
if(direction_f[n_f]=='n')
{
if(i_f>0 && map[i_f-1][j_f]!='*')
{
map[i_f][j_f]='.';
i_f--;
map[i_f][j_f]='F';
}
else
{
n_f++;
}
}
step++;
if(i_c==i_f && j_c==j_f)
{
cout<<step;
break;
}
if(sign_map_c[0][i_c][j_c]==n_c && sign_map_f[0][i_f][j_f]==n_f && sign_map_c[1][i_c][j_c]==1 && sign_map_f[1][i_f][j_f]==1)
{
cout<<"0";
break;
}
}
return 0;
}