#include <bits/stdc++.h>
using namespace std;
int ant = 0;
int a1,b1,a2,b2;
int m = 10000;
int x1,yo;
char c[1000][1000];
char d[1000][1000];
void bfs(int x,int y,int ant){
if(x<0 || x>=x1 || y<0 || y>=yo){
return;
}
if(c[x][y]!='.'){
return;
}
d[x][y] = ant;
bfs(x+1,y-2,ant+1);
bfs(x+1,y+2,ant+1);
bfs(x+2,y+1,ant+1);
bfs(x+2,y-1,ant+1);
bfs(x-1,y+2,ant+1);
bfs(x-1,y-2,ant+1);
bfs(x-2,y+1,ant+1);
bfs(x-2,y-1,ant+1);
}
int main() {
cin>>x1>>yo;
for(int i = 0;i<yo;i++){
for(int j = 0;j<x1;j++){
cin>>c[i][j];
}
}
for(int i = 0;i<yo;i++){
for(int j = 0;j<x1;j++){
if(c[i][j]=='H'){
a1 = i;
b1 = j;
}
if(c[i][j]=='K'){
a2 = i;
b2 = j;
}
}
}
bfs(b2,a2,0);
for(int i = 0;i<yo;i++){
for(int j = 0;j<x1;j++){
if(i==a1 && j==b1){
cout<<d[i][j];
return 0;
}
}
}
return 0;
}