#include <bits/stdc++.h>
using namespace std;
char map_[12][12];
int now1,now2,c1,c2,fxc,fxf;
int main(){
for(int i=0;i<=11;i++){
map_[0][i]='*';
}
for(int i=0;i<=11;i++){
map_[1][i]='*';
}
for (int i=1;i<=10;i++){
map_[i][0]='*';
map_[i][11]='*';
for (int j=1;j<=10;j++){
cin>>map_[i][j];
if(map_[i][j]=='F'){
now1=i;
now2=j;
}
if(map_[i][j]=='C'){
c1=i;
c2=j;
}
}
}
for (int i=1;;i++){
if(fxf==0){
if(map_[now1-1][now2]=='.'){
map_[now1][now2]='.';
map_[now1-1][now2]='F';
now1=now1-1;
}
else if(map_[now1-1][now2]!='.'){
fxf=(fxf+1)%4;
}
}
else if(fxf==1){
if(map_[now1][now2+1]=='.'){
map_[now1][now2]='.';
map_[now1][now2+1]='F';
now2=now2+1;
}
else if(map_[now1][now2+1]!='.'){
fxf=(fxf+1)%4;
}
}
else if(fxf==2){
if(map_[now1+1][now2]=='.'){
map_[now1][now2]='.';
map_[now1+1][now2]='F';
now1=now1+1;
}
else if(map_[now1+1][now2]!='.'){
fxf=(fxf+1)%4;
}
}
else if(fxf==3){
if( map_[now1][now2-1]=='.'){
map_[now1][now2]='.';
map_[now1][now2-1]='F';
now2=now2-1;
}
else if(map_[now1][now2-1]!='.'){
fxf=(fxf+1)%4;
}
}
if(fxc==0){
if(map_[c1-1][c2]=='.'){
map_[c1][c2]='.';
map_[c1-1][c2]='C';
c1=c1-1;
}
else if(map_[c1-1][c2]!='.'){
fxc=(fxc+1)%4;
}
}
else if(fxc==1){
if(map_[c1][c2+1]=='.'){
map_[c1][c2]='.';
map_[c1][c2+1]='C';
c2=c2+1;
}
else if(map_[c1][c2+1]!='.'){
fxc=(fxc+1)%4;
}
}
else if(fxc==2){
if(map_[c1+1][c2]=='.'){
map_[c1][c2]='.';
map_[c1+1][c2]='C';
c1=c1+1;
}
else if(map_[c1+1][c2]!='.'){
fxc=(fxc+1)%4;
}
}
else if(fxc==3){
if(map_[c1][c2-1]=='.'){
map_[c1][c2]='.';
map_[c1][c2-1]='C';
c2=c2-1;
}
else if(map_[c1][c2-1]!='.'){
fxc=(fxc+1)%4;
}
}
if(i>=20000){
cout << 0;
return 0;
}
if(c1==now1&&c2==now2){
cout << i;
return 0;
}
for (int i=1;i<=10;i++){
for (int j=1;j<=10;j++){
cout<<map_[i][j];
}
cout<<endl;
}
cout <<endl<<endl<<endl<<endl;
}
return 0;
}