#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[2001][2001];
char x;
int mapx[5]={0,1,-1,0,0},mapy[5]={0,0,0,1,-1};
int q[2001][3];
void bfs(int x,int y){
q[1][1]=x;
q[1][2]=y;
q[1][3]=0;
a[x][y]=1;
int h=0,t=1;
while(h<=t){
h++;
for(int i=1;i<=4;i++){
int xx=q[h][1]+mapx[i];
int yy=q[h][2]+mapy[i];
if(a[xx][yy]==3){
cout<<q[h][3]+1;
return ;
}
if(xx<=n&&yy<=m&&xx>0&&yy>0&&a[xx][yy]==0){
t++;
a[xx][yy]=1;
q[t][1]=xx;
q[t][2]=yy;
q[t][3]=q[h][3]+1;
}
}
}
cout<<"No Way!";
}
int main(){
cin>>n>>m;
int x1,y;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>x;
if(x=='#'){
a[i][j]=1;
}
if(x=='.'){
a[i][j]=0;
}
if(x=='d'){
a[i][j]=3;
}
if(x=='m'){
x1=i,y=j;
}
}
}
bfs(x1,y);
}