#include<iostream>
using namespace std;
struct node{
int x,y,face;
}fj,cow;
bool l[12][12];
int ans=0;
void turn(node q){
q.face+=90;
q.face%=360;
return;
}
void move(node q){
int z=q.face%90;
if(z==2){
if(l[q.x+1][q.y]){
turn(q);
}else{
q.x++;
}
}else if(z==0){
if(l[q.x-1][q.y]){
turn(q);
}else{
q.x--;
}
}else if(z==3){
if(l[q.x][q.y-1]){
turn(q);
}else{
q.y--;
}
}else{
if(l[q.x][q.y+1]){
turn(q);
}else{
q.y++;
}
}
return;
}
int main(){
char x;
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
cin>>x;
if(x=='*'){
l[j][i]=1;
}else{
l[j][i]=0;
}
if(x=='F'){
fj.x=j;
fj.y=i;
fj.face=0;
}
if(x=='C'){
cow.x=j;
cow.y=i;
cow.face=0;
}
}
}
for(int i=0;i<12;i++){
l[i][0]=1;
l[i][11]=1;
l[0][i]=1;
l[11][i]=1;
}
while(fj.x!=cow.x||fj.y!=cow.y){
move(fj);
move(cow);
if(ans>=160000){
cout<<0;
return 0;
}else{
ans++;
}
}
cout<<ans;
return 0;
}