#include<bits/stdc++.h>
using namespace std;
char c[1005][1005];
int vis[1005];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>c[i][j];
}
}
int ans=0,tmd=0;
int f=0;
int g[1][1];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(c[i][j]=='#'&&f!=1&&vis[c[i][j]]==0){
f=1;
c[i][j]='.';
vis[c[i][j]]==1;
g[0][0]=c[i][j];
}
if(c[i][j+1]!='#'&&c[i+1][j]!='#'&&c[i-1][j]!='#'&&c[i][j-1]!='#'&&c[i][j]!='#'){
tmd++;
}
}
f=0;
int sd=0;
ans=max(ans,tmd);
for(int k=1;k<=n;k++){
for(int s=1;s<=m;s++){
if(c[k][s]==g[0][0]){
c[k][s]='#';
sd=1;
break;
}
}
if(sd==1){
sd=0;
break;
}
}
g[0][0]=0;
}
cout<<ans;
return 0;
}