#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
char forest[12][12];
//方向
int x[] = {-1,0,1,0};
int y[] = {0,1,0,-1};
int f1,f2;//农夫的坐标
int c1,c2;//牛的坐标
bool t[160005];//状态数组
void fun(int x1,int y1,int x2,int y2){//函数
int pos1 = 0,pos2 = 0;//农夫和牛的朝向
int ans = 0;//时间
while(1){
if(x1 == x2 && y1 == y2){//坐标相等,可以抓到
cout << ans;
return ;
}
else{
if(x1 + x[pos1] > 0 && y1 + y[pos1] > 0 && x1 + x[pos1] <= 10 && y1 + y[pos1] <= 10 && forest[x1+x[pos1]][y1+y[pos1]] != '*'){//移动
x1 += x[pos1],y1 += y[pos1];
}
else{//调整方向
pos1++;
pos1 %= 4;
}
if(x2 + x[pos2] > 0 && y2 + y[pos2] > 0 && x2 + x[pos2] <= 10 && y2 + y[pos2] <= 10 && forest[x2+x[pos2]][y2+y[pos2]] != '*'){//移动
x2 += x[pos2],y2 += y[pos2];
}
else{//调整方向
pos2++;
pos2 %= 4;
}
ans++;
int p = x1+y1*10+x2*100+y2*1000+pos1*10000+pos2*40000;//判断状态是否出现过
if(t[p]){//出现过,死循环
cout << 0;
return ;
}
else{//,未出现过,记录状态
t[p] = 1;
}
}
}
}
int main(){
int i,j;
for(i = 1; i <= 10; ++i)
for(j = 1; j <= 10; ++j){
cin >> forest[i][j];
if(forest[i][j] == 'F')f1 = i,f2 = j;
if(forest[i][j] == 'C')c1 = i,c2 = j;
}
fun(f1,f2,c1,c2);
return 0;
}