#include<fstream>
using namespace std;
char grid[10][10];
int grid2[10][10], a, b, i, j, blah;
bool done;
void rec(int x, int y)
{
	if(done)
		return;
	int i, j;
	for(i=-1;i<2;++i)
	{
		for(j=-1;j<2;++j)
		{
			if(!i&&!j)
				continue;
			if(x+i<0||x+i>=10||y+j<0||y+j>=10)
				continue;
/*			if(grid[x+i][y+j]=='X'&&(x+i!=a&&y+j!=b))
			{
				done=true;
				return;
			}*/
			if(grid[x+i][y+j]=='#')
				continue;
			if(grid2[x+i][y+j]>grid2[x][y]+1)
			{
				grid2[x+i][y+j]=grid2[x][y]+1;
				rec(x+i,y+j);
			}
		}
	}
	return;
}
int main()
{
	ifstream fin("DATA4.txt");
	ofstream fout("OUT4.txt");
	blah=5;
	while(blah)
	{
		blah--;
		for(i=0;i<10;++i)
		{
			for(j=0;j<10;++j)
			{
				fin>>grid[i][j];
				grid2[i][j]=99999;
				if(grid[i][j]=='X')
				{
					a=i;
					b=j;
				}
			}
		}
		grid2[a][b]=0;
		done=false;
		rec(a,b);
		for(i=0;i<10;++i)
		{
			for(j=0;j<10;++j)
			{
				if(grid[i][j]=='X'&&(i!=a||j!=b))
				{
					fout<<grid2[i][j]<<endl;
					break;
				}
			}
		}
		for(i=0;i<10;++i)
		{
			fin>>grid[0][i];
		}
	}
	return 0;
}
