#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
****************************************************************/