#include<stdio.h>
const int x0[]={0,1,0,-1},y0[]={1,0,-1,0};
int n,m,cnt,x[10000],y[10000],t[10000];
char c[110][110];
int	b[110][110];
int main()
{
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++)
	scanf("%s",c[i]);
	int head=0,tail=1;
	x[1]=t[1]=1;y[1]=0;
	b[1][0]=1;
	while(head!=tail)
	{
	head++;
	for(int i=0;i<4;i++)
	{
		int x1=x[head]+x0[i],y1=y[head]+y0[i];
		if(x1>0&&x1<=n&&y1>=0&&y1<m&&c[x1][y1]=='.'&&!b[x1][y1])
		{
			tail++;b[x1][y1]=1;
			x[tail]=x1;y[tail]=y1;t[tail]=t[head]+1;
			if(x1==n&&y1==m-1)
			{
				printf("%d",t[tail]);
				return 0;
			}
		}
	}
	}
} 
/**************************************************************
	Problem: 1432
	User: admin
	Language: C
	Result: Accepted
	Time:40 ms
	Memory:1320 kb
****************************************************************/