#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pfn printf("\n")
char a[15][15];
bool stop[200000];
int x3,y3;
int x2,y2,flag1=0,flag2=0,h=0,ss;
int main()
{
for(int i=1;i<=10;i++)
{
for(int j=1;j<=10;j++)
{
cin>>a[i][j];
if(a[i][j]=='F')x3=i,y3=j;
if(a[i][j]=='C')x2=i,y2=j;
}
}
for(h=0;;h++)
{
if(x3==x2&&y3==y2)
{
cout<<h;
return 0;
}
if(flag1==0)
{
if(x3==1||a[x3-1][y3]=='*')flag1++;
else a[x3][y3]='.',a[x3-1][y3]='F',x3-=1;
}
else if(flag1==1)
{
if(y3==10||a[x3][y3+1]=='*')flag1++;
else a[x3][y3]='.',a[x3][y3+1]='F',y3+=1;
}
else if(flag1==2)
{
if(x3==10||a[x3+1][y3]=='*')flag1++;
else a[x3][y3]='.',a[x3+1][y3]='F',x3+=1;
}
else if(flag1==3)
{
if(y3==1||a[x3][y3-1]=='*')flag1=0;
else a[x3][y3]='.',a[x3][y3-1]='F',y3-=1;
}
if(flag2==0)
{
if(x2==1||a[x2-1][y2]=='*')flag2++;
else a[x2][y2]='.',a[x2-1][y2]='C',x2-=1;
}
else if(flag2==1)
{
if(x2==10||a[x2][y2+1]=='*')flag2++;
else a[x2][y2]='.',a[x2][y2+1]='C',y2+=1;
}
else if(flag2==2)
{
if(x2==10||a[x2+1][y2]=='*')flag2++;
else a[x2][y2]='.',a[x2+1][y2]='C',x2+=1;
}
else if(flag2==3)
{
if(y2==1||a[x2][y2-1]=='*')flag2=0;
else a[x2][y2]='.',a[x2][y2-1]='F',y2-=1;
}
ss=x3+y3*10+x2*100+y2*1000+flag1*10000+flag2*40000;
if(stop[ss])
{
cout<<0;
return 0;
}
stop[ss]=1;
}
return 0;
}
```cpp