#include<bits/stdc++.h>
using namespace std;
int n,m,k,l,o,p=INT_MAX,fx[4]={1,0,-1,0},fy[4]={0,1,0,-1};
char a[40][40];
void ads(int x,int y){
	if(a[x][y]=='*'){
		if(o<p){
			p=o;
		}
		return;
	}
	    
	for(int i=0;i<4;i++){
		int tx=x+fx[i];
		int ty=y+fy[i];
		if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&(a[tx][ty]=='.'||a[tx][ty]=='*')){
			o++;
			a[x][y]='#';
			ads(tx,ty);
			a[x][y]='.';
			o--;
		}	
	}
}
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]=='@'){
				k=i;
				l=j;
			}
			
		}
	}
	ads(k,l);
	if(p>21000000){
		cout<<-1;
		return 0;
	}
	cout<<p;
}
/**************************************************************
	Problem: 1900
	User: zhengzihao
	Language: C++
	Result: Accepted
	Time:9 ms
	Memory:2076 kb
****************************************************************/