#include<cstdio>
using namespace std;
char m[12][12];//地图;
int f[2]={0,0};//1,0分别为人,牛;
int x[2],y[2];//记录人,牛坐标;
int move(int b)
{
if(f[b]==0)
{
if(m[y[b]-1][x[b]]!='*')
{
y[b]--;
}
else f[b]=1;
return 0;
}
if(f[b]==1)
{
if(m[y[b]][x[b]+1]!='*')
{
x[b]++;
}
else f[b]=2;
return 0;
}
if(f[b]==2)
{
if(m[y[b]+1][x[b]]!='*')
{
y[b]++;
}
else f[b]=3;
return 0;
}
if(f[b]==3)
{
if(m[y[b]][x[b]--]!='*')
{
x[b]--;
}
else f[b]=0;
return 0;
}
return 0;
}
int main()
{
for(int i=0;i<12;i++)
{
m[i][0]='*';
m[0][i]='*';
m[10][i]='*';
m[i][10]='*';
}
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
{
scanf("%c",&m[i][j]);
if(m[i][j]=='F')
{
x[1]=j;
y[1]=i;
}
if(m[i][j]=='C')
{
x[0]=j;
y[0]=i;
}
if(m[i][j]!='*')
m[i][j]='*';
}
char a;
scanf("%c",&a);
if(a=='\n') continue;
}
int min=0;
while(min<=10000)//随便设个边界,测试
{
min++;
move(0);
move(1);
if((x[1]==x[0])&&(y[1]==y[0]))
{
printf("%d",min);
return 0;
}
}
printf("0");
return 0;
}