#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
****************************************************************/