#include <iostream>
using namespace std;
int n, m;
int main (){
    cin >> n >> m;
    int parking[n][m];
    char pom;
    for (int i = 0; i < n; ++i){
        for (int j = 0; j < m; ++j){
            cin >> pom;
            if (pom == '#'){parking[i][j] = 1000;}
            if (pom == 'X'){parking[i][j] = 1;}
            if (pom == '.'){parking[i][j] = 0;}
        }
    }
    int nula = 0;
    int jedan = 0;
    int dva = 0;
    int tri = 0;
    int cetiri = 0;
    int abo = 0;
    for (int i = 0; i < n - 1; ++i){
        for (int j = 0; j < m - 1; ++j){
            abo = parking[i][j] + parking[i][j + 1] + parking[i + 1][j] + parking[i + 1][j + 1];
            if (abo > 999){continue;}
            if (abo == 0){nula = nula + 1; continue;}
            if (abo == 1){jedan = jedan + 1; continue;}
            if (abo == 2){dva = dva + 1; continue;}
            if (abo == 3){tri = tri + 1; continue;}
            cetiri = cetiri + 1;
        }
    }
    cout << nula << endl << jedan << endl << dva << endl << tri << endl << cetiri;
}
