#include<iostream>
#include<algorithm>
char a[12][12];
int main() {
int fx=0;
int fy=0;
int cx=0;
int cy=0;
for (int i = 1;i <= 10;i++) {
for (int j = 1;j <= 10;j++) {
std::cin >> a[i][j];
if (a[i][j] == 'C'){
cx = j;
cy = i;
}
if (a[i][j]== 'F') {
fx = j;
fy = i;
}
}
}
int i;
int j;
for (i = 0,j = 0;j <= 11;j++)a[i][j] = '*';
for (i = 11,j = 0;j <= 11;j++)a[i][j]= '*';
for (j = 0,i = 0;i<= 11;i++)a[i][j] = '*';
for (j = 11,i = 0;i <= 11;i++)a[i][j]= '*';
int posxf=-1;
int posyf =0;
int posxc = -1;
int posyc = 0;
int cnt = 0;
while(1) {
if (fx == cx && fy == cy) {
std::cout << cnt;
break;
}
cnt++;
if (a[fx+posxf][fy+posyf]!= '*') {
a[fx][fy] = '.';
fx = fx + posxf;
fy = fy + posyf;
a[fx][fy]= 'F';
}
else {
if (posxf == -1 && posyf == 0) {
posxf = 0;
posyf = 1;
}
else if (posxf == 0 && posyf == 1) {
posxf =1;
posyf = 0;
}
else if (posxf == 1 && posyf == 0) {
posxf = 0;
posyf =-1;
}
else if (posxf == 0 && posyf == -1) {
posxf = -1;
posyf = 0;
}
}
if (a[cx+posxc][cy+posyc] != '*') {
a[cx][cy] = '.';
cx = cx + posxc;
cy = cy + posyc;
a[cx][cy] = 'C';
}
else {
if (posxc == -1 && posyc == 0) {
posxc = 0;
posyc = 1;
}
else if (posxc == 0 && posyc == 1) {
posxc = 1;
posyc = 0;
}
else if (posxc == 1 && posyc == 0) {
posxc = 0;
posyc = -1;
}
else if (posxc == 0 && posyc == -1) {
posxc = -1;
posyc = 0;
}
}
if (cnt >= 100000) {
std::cout << 0;
break;
}
}
return 0;
}