#include <bits/stdc++.h>
using namespace std;
//===============typedef
typedef long long ll;
typedef vector<int> vi;
typedef vector< vi > vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef vector<vii> vvii;
typedef set<int> si;
typedef map<string, int> msi;
//=================
const ll mod=1e9+7;
//=============define
#define inf 10000000
#define cln(a) memset(a,0,sizeof a);
#define clni(a) memset(a,inf,sizeof a);
#define all(x) x.begin(), x.end()
#define tr(container, it) for(typeof(container.begin()) it = container.begin(); it != container.end(); it++)
#define sz(a) int((a).size())
#define pb push_back
#define sp(c,x) ((c).find(x) != (c).end()) // for set,map
#define vp(c,x) (find(all(c),x) != (c).end()) // for vector
#define uu first
#define vv second
#define fr(i,a,b) for(int i=int(a);i<int(b);++i)
#define nfr(i,a,b) for(int i= int(a);i>=int(b);--i)
#define tc cin>>t ; while(t--)
#define pc() cout<<"Case "<<cs++<<": "
#define mx (int)1e5+10
#define sc2(x,y) int x,y;scanf("%d %d",&x,&y)
#define sc3(x,y,z) int x,y,z;scanf("%d %d %d",&x,&y,&z)
#define sc(x) int x; scanf("%d",&x)
#define pfs(x) printf("%d ",x)
#define pf(x) printf("%d\n",x)
#define el puts("");
#define getcx() getchar()
#define Fi freopen("inp.txt","r",stdin)
#define rt return 0
#define dbg(x) cerr<<x<<endl
//============functions
ll bigmod(ll a,ll b)
{
ll ans=1;
while(b)
{
if(b&1)
ans=(ans*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return ans;
}
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
//int vis[505][505];
//int vis[505]
//string s[505];
void dfs(int u,int v)
{
}
int n,m;
char g[505][505];
int dis[505][505];
int Int(char c)
{
return isdigit(c)?c-48:0;
}
void floyd()
{
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(g[i][k]+g[k][j]<g[i][j])
g[i][j]=g[i][k]+g[k][j];
}
ii s,t;
int spfa()
{
fr(i,0,n)
fr(j,0,m)
dis[i][j]=inf;
dis[s.uu][s.vv]=0;
queue< ii > q;
q.push(s);
while(!q.empty())
{
ii tm=q.front();
q.pop();
if(tm.uu==t.uu && tm.vv==t.vv)
return dis[t.uu][t.vv];
fr(i,0,4)
{
ii nw;
nw.uu=tm.uu+dx[i];
nw.vv=tm.vv+dy[i];
if(g[nw.uu][nw.vv]!='#' && dis[nw.uu][nw.vv]>dis[tm.uu][tm.vv]+Int(g[nw.uu][nw.vv]))
{
dis[nw.uu][nw.vv]=dis[tm.uu][tm.vv]+Int(g[nw.uu][nw.vv]);
q.push({nw});
}
}
}
return dis[t.uu][t.vv];
}
int main()
{
cin>>n>>m;
fr(i,0,n)
{
fr(j,0,m)
{
cin>>g[i][j];
if(g[i][j]=='H')
s={i,j};
else if(g[i][j]=='E')
t={i,j};
}
}
int ans=spfa();
if(ans==inf)
puts("ARTSKJID");
else cout<<ans<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLz09PT09PT09PT09PT09PXR5cGVkZWYKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPCB2aSA+IHZ2aTsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsKdHlwZWRlZiB2ZWN0b3I8aWk+IHZpaTsKdHlwZWRlZiB2ZWN0b3I8dmlpPiB2dmlpOwp0eXBlZGVmIHNldDxpbnQ+IHNpOwp0eXBlZGVmIG1hcDxzdHJpbmcsIGludD4gbXNpOwovLz09PT09PT09PT09PT09PT09CmNvbnN0ICBsbCBtb2Q9MWU5Kzc7CgoKLy89PT09PT09PT09PT09ZGVmaW5lCiNkZWZpbmUgaW5mIDEwMDAwMDAwCiNkZWZpbmUgY2xuKGEpIG1lbXNldChhLDAsc2l6ZW9mIGEpOwojZGVmaW5lIGNsbmkoYSkgbWVtc2V0KGEsaW5mLHNpemVvZiBhKTsKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLCB4LmVuZCgpCiNkZWZpbmUgdHIoY29udGFpbmVyLCBpdCkgZm9yKHR5cGVvZihjb250YWluZXIuYmVnaW4oKSkgaXQgPSBjb250YWluZXIuYmVnaW4oKTsgaXQgIT0gY29udGFpbmVyLmVuZCgpOyBpdCsrKQojZGVmaW5lIHN6KGEpIGludCgoYSkuc2l6ZSgpKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHNwKGMseCkgKChjKS5maW5kKHgpICE9IChjKS5lbmQoKSkgIC8vIGZvciBzZXQsbWFwCiNkZWZpbmUgdnAoYyx4KSAoZmluZChhbGwoYykseCkgIT0gKGMpLmVuZCgpKSAgLy8gZm9yIHZlY3RvcgojZGVmaW5lIHV1IGZpcnN0CiNkZWZpbmUgdnYgc2Vjb25kCiNkZWZpbmUgZnIoaSxhLGIpIGZvcihpbnQgaT1pbnQoYSk7aTxpbnQoYik7KytpKQojZGVmaW5lIG5mcihpLGEsYikgZm9yKGludCBpPSBpbnQoYSk7aT49aW50KGIpOy0taSkKI2RlZmluZSB0YyBjaW4+PnQgOyB3aGlsZSh0LS0pCiNkZWZpbmUgcGMoKSAgY291dDw8IkNhc2UgIjw8Y3MrKzw8IjogIgojZGVmaW5lIG14IChpbnQpMWU1KzEwCiNkZWZpbmUgc2MyKHgseSkgaW50IHgseTtzY2FuZigiJWQgJWQiLCZ4LCZ5KQojZGVmaW5lIHNjMyh4LHkseikgaW50IHgseSx6O3NjYW5mKCIlZCAlZCAlZCIsJngsJnksJnopCiNkZWZpbmUgc2MoeCkgaW50IHg7IHNjYW5mKCIlZCIsJngpCiNkZWZpbmUgcGZzKHgpIHByaW50ZigiJWQgIix4KQojZGVmaW5lIHBmKHgpIHByaW50ZigiJWRcbiIseCkKI2RlZmluZSBlbCBwdXRzKCIiKTsKI2RlZmluZSBnZXRjeCgpIGdldGNoYXIoKQojZGVmaW5lIEZpIGZyZW9wZW4oImlucC50eHQiLCJyIixzdGRpbikKI2RlZmluZSBydCByZXR1cm4gMAojZGVmaW5lIGRiZyh4KSBjZXJyPDx4PDxlbmRsCi8vPT09PT09PT09PT09ZnVuY3Rpb25zCmxsIGJpZ21vZChsbCBhLGxsIGIpCnsKICAgIGxsIGFucz0xOwogICAgd2hpbGUoYikKICAgIHsKICAgIGlmKGImMSkKICAgIGFucz0oYW5zKmEpJW1vZDsKICAgIGE9KGEqYSklbW9kOwogICAgYj4+PTE7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CgppbnQgZHhbXT17MCwwLDEsLTF9OwppbnQgZHlbXT17MSwtMSwwLDB9OyAKLy9pbnQgdmlzWzUwNV1bNTA1XTsKLy9pbnQgdmlzWzUwNV0KLy9zdHJpbmcgc1s1MDVdOwp2b2lkIGRmcyhpbnQgdSxpbnQgdikKewoKfQppbnQgbixtOwpjaGFyIGdbNTA1XVs1MDVdOwppbnQgZGlzWzUwNV1bNTA1XTsKaW50IEludChjaGFyIGMpCnsKICAgIHJldHVybiBpc2RpZ2l0KGMpP2MtNDg6MDsKfQp2b2lkIGZsb3lkKCkKeyAKICBmb3IoaW50IGs9MDtrPG47aysrKQogICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgIGZvcihpbnQgaj0wO2o8bjtqKyspCgogICAgICAgICAgICBpZihnW2ldW2tdK2dba11bal08Z1tpXVtqXSkKICAgICAgICAgICAgICAgIGdbaV1bal09Z1tpXVtrXStnW2tdW2pdOwp9CmlpIHMsdDsKaW50IHNwZmEoKQp7ICAgICAgIAogICAgZnIoaSwwLG4pCiAgICBmcihqLDAsbSkgCiAgICAgICAgZGlzW2ldW2pdPWluZjsKICAgIGRpc1tzLnV1XVtzLnZ2XT0wOwogICAgcXVldWU8IGlpID4gcTsKICAgIHEucHVzaChzKTsKICAgIHdoaWxlKCFxLmVtcHR5KCkpCiAgICB7CiAgICAgICAgaWkgdG09cS5mcm9udCgpOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgaWYodG0udXU9PXQudXUgJiYgdG0udnY9PXQudnYpCiAgICAgICAgICAgIHJldHVybiBkaXNbdC51dV1bdC52dl07CgogICAgICAgIGZyKGksMCw0KQogICAgICAgIHsKICAgICAgICAgICAgaWkgbnc7CiAgICAgICAgICAgIG53LnV1PXRtLnV1K2R4W2ldOwogICAgICAgICAgICBudy52dj10bS52ditkeVtpXTsKICAgICAgICAgICAgaWYoZ1tudy51dV1bbncudnZdIT0nIycgJiYgZGlzW253LnV1XVtudy52dl0+ZGlzW3RtLnV1XVt0bS52dl0rSW50KGdbbncudXVdW253LnZ2XSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgIGRpc1tudy51dV1bbncudnZdPWRpc1t0bS51dV1bdG0udnZdK0ludChnW253LnV1XVtudy52dl0pOwogICAgICAgICAgICAgcS5wdXNoKHtud30pOyAgIAogICAgICAgICAgICB9ICAgICAgICAgICAKICAgICAgICB9CiAgICB9IAogICAgcmV0dXJuIGRpc1t0LnV1XVt0LnZ2XTsKfQoKaW50IG1haW4oKQp7CiAgICBjaW4+Pm4+Pm07CiAgICBmcihpLDAsbikKICAgIHsKICAgICAgICBmcihqLDAsbSkKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+Z1tpXVtqXTsKICAgICAgICAgICAgaWYoZ1tpXVtqXT09J0gnKQogICAgICAgICAgICAgICAgcz17aSxqfTsKICAgICAgICAgICAgZWxzZSBpZihnW2ldW2pdPT0nRScpCiAgICAgICAgICAgICAgICB0PXtpLGp9OwogICAgICAgIH0KICAgIH0KICAgIGludCBhbnM9c3BmYSgpOwogICAgaWYoYW5zPT1pbmYpCiAgICAgICAgcHV0cygiQVJUU0tKSUQiKTsKICAgIGVsc2UgY291dDw8YW5zPDxlbmRsOwp9