#include<bits/stdc++.h>
using namespace std;
//r1:谷仓数量,r2:奶牛数量
//lx ly:左上角坐标 rx ry:右下角坐标
int lx,ly,rx,ry,s,r1,r2;
//迷宫
char a[150][150];
//探索每个点及相邻的#
void fun(int x,int y){
a[x][y] = '.';//走过的路径标记
s++;
//更新左上和右下角的坐标
if(x<lx) lx=x;
if(y<ly) ly=y;
if(x>rx) rx=x;
if(y>ry) ry=y;
if(a[x-1][y]=='#') fun(x-1,y);
if(a[x+1][y]=='#') fun(x+1,y);
if(a[x][y-1]=='#') fun(x,y-1);
if(a[x][y+1]=='#') fun(x,y+1);
}
int main(){
int n,m;
cin>>n>>m;
int i,j;
for(i = 1;i <= n;i++){
for(j = 1;j <= m;j++){
cin>>a[i][j];
}
}
//遍历每个点
for(i = 1;i <= n;i++){
for(j = 1;j <= m;j++){
//如果是谷仓或者奶牛
if(a[i][j] == '#'){
lx=i;ly=j;rx=i;ry=j;
s = 0;
fun(i,j);//探索相邻点
//如果是矩形(是谷仓)
/*
rx-lx+1是宽,ry-ly+1是长,当扩张的矩形的面积等于
#的个数,那#组成的图形就是矩形,否则不是
*/
if(s == (rx-lx+1) * (ry-ly+1)) r1++;
else r2++;//是奶牛
}
}
}
cout<<r1<<endl;
cout<<r2<<endl;
}
/**************************************************************
Problem: 1440
User: admin
Language: C++
Result: Accepted
Time:101 ms
Memory:2584 kb
****************************************************************/