#include<bits/stdc++.h>
using namespace std;
int main(){
int dir[4][2] = {{-1,0},{0,1},{1,0},{0,-1}};
char s[15][15];
int Fi,Fj,Ci,Cj;
int tempFi,tempFj,tempCi,tempCj;
memset(s,'*',sizeof(s));
for(int i = 1 ; i <= 10 ; i ++){
for(int j = 1 ; j <= 10 ; j ++){
cin >> s[i][j];
if(s[i][j] == 'F'){
tempFi = i;
tempFj = j;
s[i][j] = '.';
}
if(s[i][j] == 'C'){
tempCi = i;
tempCj = j;
s[i][j] = '.';
}
}
}
int Min = 9999999;
for(int i = 0 ; i < 4 ; i ++){
for(int j = 0 ; j < 4 ; j ++){
int dirtF = i;
int dirtC = j;
Fi = tempFi;
Fj = tempFj;
Ci = tempCi;
Cj = tempCj;
int t = 100000;
int ans = 0;
while(t --){
if(Fi == Ci && Fj == Cj){
cout << ans << endl;
break;
}
if(s[Fi + dir[dirtF][0]][Fj + dir[dirtF][1]] == '*' || Fi + dir[dirtF][0] <= 0 || Fj + dir[dirtF][1] <= 0 || Fi + dir[dirtF][0] >= 11 || Fj + dir[dirtF][1] >= 11){
dirtF ++;
dirtF %= 4;
}
else{
Fi += dir[dirtF][0];
Fj += dir[dirtF][1];
}
if(s[Ci + dir[dirtC][0]][Cj + dir[dirtC][1]] == '*' || Ci + dir[dirtC][0] <= 0 || Cj + dir[dirtC][1] <= 0 || Ci + dir[dirtC][0] >= 11 || Cj + dir[dirtC][1] >= 11){
dirtC ++;
dirtC %= 4;
}
else{
Ci += dir[dirtC][0];
Cj += dir[dirtC][1];
}
ans ++;
}
}
}
cout << 0 << endl;
}