#include<bits/stdc++.h>
#define ll long long
#define endl '\n'
#define up(i,j,k,l) for(int i=j;i<=k;i+=l)
#define down(i,j,k,l) for(int i=j;i>=k;i-=l)
using namespace std;
const int N=20,F=1e4+10;
char a[N][N];
bool f[N][N][N][N][N][N];
int n;
int nx,ny,jx,jy;
const int dx[4]={1,0,-1,0},dy[4]={0,-1,0,1};
int nw,jw;
int t;
void solve()
{
n=10;
up(i,0,n+1,1){
a[0][i]='*';
a[n+1][i]='*';
a[i][0]='*';
a[i][n+1]='*';
}
up(i,1,n,1){
up(j,1,n,1){
cin>>a[i][j];
if(a[i][j]=='F'){
jx=i;
jy=j;
}
if(a[i][j]=='C'){
nx=i;
ny=j;
}
}
}
nw=2;
jw=2;
while(true){
if(nx==jx && ny==jy){
cout<<t;
return;
}
nx+=dx[nw];
ny+=dy[nw];
jx+=dx[jw];
jy+=dy[jw];
while(a[nx][ny]=='*'){
nx-=dx[nw];
ny-=dy[nw];
nw++;
nw%=4;
nx+=dx[nw];
ny+=dy[nw];
}
while(a[jx][jy]=='*'){
jx-=dx[jw];
jy-=dy[jw];
jw++;
jw%=4;
jx+=dx[jw];
jy+=dy[jw];
}
if(f[nx][ny][nw][jx][jy][jw]==true){
cout<<0;
return;
}
else{
f[nx][ny][nw][jx][jy][jw]=true;
t++;
}
}
return;
}
int main()
{
int _=1;
while(_--){
solve();
}
return 0;
}