最后一个点 wa 了
#include<bits/stdc++.h>
#define yzh(a) freopen(#a".in","r",stdin); //freopen(#a".out","w",stdout);
#define wlp ios::sync_with_stdio(false);
#define f1(i,a,b) for(int i=a;i<=b;i++)
#define f2(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define D double
#define maxn 1510
using std::getchar;
using std::putchar;
using std::ios;
int n,m;
int ans,tmp;
int answer[maxn];
bool v[maxn][maxn];
char a[maxn][maxn];
int dx[8]={0,1,0,-1,1,-1,-1,1};
int dy[8]={1,0,-1,0,1,-1,1,-1};
bool cmp(int x,int y){return x>y;}
int dfs(int x,int y){
tmp++;
v[x][y]=false;
f1(i,0,7){
int xx=x+dx[i],yy=y+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&a[xx][yy]=='*'&&v[xx][yy]){
v[xx][yy]=false;
dfs(xx,yy);
};
};
return tmp;
};
int main(){
//yzh()
wlp;
std::cin>>n>>m;
memset(v,1,sizeof(v));
f1(i,1,n) f1(j,1,m) std::cin>>a[i][j];
f1(i,1,n){
f1(j,1,m){
if(a[i][j]=='*'&&v[i][j]){
tmp=0;
int cur=dfs(i,j);
answer[cur]++;
};
};
};
f1(i,1,maxn) if(answer[i]!=0) ans++;
std::cout<<ans<<" ";
int maxx=0;
f1(i,1,maxn){
if(answer[i]!=0){
int cur=answer[i]*i;
maxx=std::max(maxx,cur);
};
};
std::cout<<maxx;
return 0;
}