#include<bits/stdc++.h>
using namespace std;
string a[10] = {};
int pos[100][2] = {},alp = 0;
struct cara{
int x=0,y=0;
int h = 1;
};
cara f,c;
int main(){
int cnt = 0;
for(int i = 0;i<10;i++){
cin>>a[i];
}
for(int i = 0;i<10;i++){
for(int j = 0;j<10;j++){
if(a[i][j] == '*'){
pos[alp][0] = j;
pos[alp][1] = i;
alp ++;
}else if(a[i][j]=='C'){
c.x = i;
c.y = j;
} else if(a[i][j]=='F'){
f.x = i;
f.y = j;
}
}
}
while(cnt<500000){
if(f.h==1){
f.y--;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == f.x&&pos[i][1] == f.y||f.x>9||f.x<0||f.y>9||f.y<0){
f.y++;
f.h++;
}
}
}else if(f.h==2){
f.x++;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == f.x&&pos[i][1] == f.y||f.x>9||f.x<0||f.y>9||f.y<0){
f.x--;
f.h++;
}
}
}else if(f.h==3){
f.y++;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == f.x&&pos[i][1] == f.y||f.x>9||f.x<0||f.y>9||f.y<0){
f.y--;
f.h++;
}
}
}else{
f.x--;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == f.x&&pos[i][1] == f.y||f.x>9||f.x<0||f.y>9||f.y<0){
f.x++;
f.h-=3;
}
}
}
if(c.h==1){
c.y--;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == c.x&&pos[i][1] == c.y||c.x>9||c.x<0||c.y>9||c.y<0){
c.y++;
c.h++;
}
}
}else if(c.h==2){
c.x++;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == c.x&&pos[i][1] == c.y||c.x>9||c.x<0||c.y>9||c.y<0){
c.x--;
c.h++;
}
}
}else if(c.h==3){
c.y++;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == c.x&&pos[i][1] == c.y||c.x>9||c.x<0||c.y>9||c.y<0){
c.y--;
c.h++;
}
}
}else{
c.x--;
for(int i = 0;i<=alp;i++){
if(pos[i][0] == c.x&&pos[i][1] == c.y||c.x>9||c.x<0||c.y>9||c.y<0){
c.x++;
c.h-=3;
}
}
}
cnt++;
if(c.x==f.x&&c.y==f.y){
cout<<cnt;
return 0;
}
}
cout<<0;
return 0;
}