#include<bits/stdc++.h>
using namespace std;
int n,m,tx,ty,sx,sy;
char a[2001][2001];
bool b[2001][2001];
int q[4100000][4];
int dx[]={-1,0,1,0},dy[]={0,1,0,-1};
int bfs()
{
q[1][1]=sx;
q[1][2]=sy;
q[1][3]=0;
b[sx][sy]=1;
int head=0,tail=1;
while(head!=tail)
{
head++;
int x=q[head][1],y=q[head][2],t=q[head][3];
for(int i=0;i<4;i++)
{
int xx=x+dx[i],yy=y+dy[i];
if(xx>=1&&yy>=1&&xx<=n&&yy<=m&&b[xx][yy]==0&&a[xx][yy]!='#')
{
tail++;
q[tail][1]=xx;
q[tail][2]=yy;
q[tail][3]=t+1;
if(xx==tx&&yy==ty)
{
cout<<q[tail][3]<<endl;
return 0;
}
}
}
}
cout<<"No Way!"<<endl;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]=='m')
{
sx=i;
sy=j;
}
if(a[i][j]=='d')
{
tx=i;
ty=j;
}
}
}
bfs();
return 0;
}