#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,c[100005];
char a[1505][1505];
const int d[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{1,-1},{-1,1},{-1,-1}};
void dfs(int x,int y){
a[x][y]='.';
cnt++;
for(int i = 0;i < 8;i++){
int nx=x+d[i][0],ny=y+d[i][1];
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]=='*')
dfs(nx,ny);
}
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i++)
for(int j = 1;j <= m;j++)
cin >> a[i][j];
for(int i = 1;i <= n;i++)
for(int j = 1;j <= m;j++)
if(a[i][j]=='*'){
cnt=0;
dfs(i,j);
c[cnt]++;
}
int ans=0,maxn=-1;
for(int i = 0;i <= 100005;i++){
if(c[i])ans++;
if(c[i]*i>maxn)maxn=c[i]*i;
}
cout << ans << " " << maxn << endl;
return 0;
}
下了第一个测试点看着好像是对的呀