

#include <bits/stdc++.h>
using namespace std;
const int N=510;
char g[N][N];
int n,m;
int r1,r2,r3;
vector<string> ba={"###","#.#","###","#.#","###"};
vector<string> p={"###","#.#","###","#..","#.."};
vector<string> f={"###","..#",".##","..#","..#"};
bool check(int l,int r,vector<string>& v)
{
for(int i=0;i<=4;i++)
{
for(int j=0;j<=2;j++)
{
if(g[i+l][r+j]!=v[i][j]) return false;
}
}
//对了就要全置为'.'
for(int i=0;i<=4;i++)
{
for(int j=0;j<=2;j++)
{
g[i+l][r+j]='.';
}
}
return true;
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>g[i][j];
}
}
for(int i=n-4;i>=1;i--)//目的是从上往下筛选
{
for(int j=m-2;j>=1;j--)//目的是重左往右筛选
{
//筛选条件的先后顺序为ba、p、f
if(check(i,j,ba)) r1++;
if(check(i,j,p)) r2++;
if(check(i,j,f)) r3++;
}
}
cout<<r2<<" "<<r3<<" "<<r1<<endl;
}