#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,qx,qy,dx[4]={-1,1,0,0},dy[4]={0,0,-1,1},p[10001][4];
char k;
bool b[101][101];
void bfs()
{
int t=0,w=1;
while(t<w)
{
t++;
for(int i=0;i<4;i++)
{
x=p[t][1]+dx[i];
y=p[t][2]+dy[i];
if(x>0&&x<=m&&y>0&&y<=n&&b[x][y])
{
w++;
p[w][1]=x;
p[w][2]=y;
p[w][3]=p[t][3]+1;
b[x][y]=false;
if(x==qx&&y==qy)
{
cout<<p[w][3]<<endl;
return;
}
}
}
}
cout<<-1<<endl;
}
int main()
{
while(cin>>m>>n)
{
if(m==0&&n==0)
return 0;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>k;
if(k=='#')
b[i][j]=false;
else
b[i][j]=true;
if(k=='@')
{
p[1][1]=i;
p[1][2]=j;
p[1][3]=0;
b[i][j]=false;
}
if(k=='*')
{
qx=i;
qy=j;
}
}
}
bfs();
}
return 0;
}