#include<bits/stdc++.h>
using namespace std;
int n,m,k,l,fy[4]={1,0,-1,0},fx[4]={0,1,0,-1};
char  a[100][100];
int u,q,w=INT_MAX,e,ans=0;
void asd(int x,int y){

	ans++;
	if(a[x][y]=='*'){
		if(w>ans){
			w=ans;
		}
	
		ans--;
		return;
		
	}
	for(int i=0;i<4;i++){
		int tx=fx[i]+x;
		int ty=fy[i]+y;
		if(tx>0&&ty>0&&tx<=n&&ty<=m&&(a[tx][ty]=='.'||a[tx][ty]=='*')){
			a[x][y]='#';
			asd(tx,ty);
			if(x==k&&y==l){
				a[x][y]='@';
			}
			a[x][y]='.';
		}
	}
	ans--;
	return;
}
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;
			}
		}
	}	
	asd(k,l);
	cout<<w--;
}
/**************************************************************
	Problem: 1900
	User: zhengzihao
	Language: C++
	Result: Wrong Answer
****************************************************************/