#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char c[105][105];
int n,m;
int p,xi;
int jp,jx;
int xy[4][2]={1,0,0,1,-1,0,0,-1};
void DFS(int x,int y,int xi,int p)
{
if(x==n&&y==m)
{
if(p<jp)
jp=p;
if(xi>jx)
jx=xi;
return;
}
for(int i=0;i<4;i++)
{
int xx=x+xy[i][0],yy=y+xy[i][1];
if(c[xx][yy]=='0'||c[xx][yy]=='#')
{
bool f=false;
if(c[xx][yy]=='#')
{
xi++;
f=true;
}
p++;
c[xx][yy]='1';
DFS(xx,yy,xi,p);
xi=f?xi-1:xi;
c[xx][yy]=f?'#':'0';
p--;
}
}
}
int main()
{
jp=99999;
jx=0;
memset(c,'1',sizeof(c));
scanf("%d%d",&n,&m);
getchar();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
c[i][j]=getchar();
getchar();
}
bool f=false;
if(c[1][1]=='#')
f=true;
c[1][1]='1';
if(f) DFS(1,1,1,0);
else DFS(1,1,0,0);
cout<<jp<<' '<<jx<<endl;
return 0;
}