#include <iostream>
using namespace std;

int proveriIvicu(int vodopad[], int strana, int n){
    int br = 0;
    switch(strana){
        case 1:
            for (int i = 0; i < n; ++i){
                if (vodopad[i] == 1){
                    break;
                } else {
                    ++br;
                }
            }
            break;
        case 2:
            for (int i = n - 1; i >= 0; --i){
                if (vodopad[i] == 1){
                    break;
                } else {
                    ++br;
                }
            }
            break;
    }

    return br;
}

void dnoVodopada(int vodopad[], int vodopad_temp[], int n, int red){
    int levo = proveriIvicu(vodopad, 1, n);
    int desno = proveriIvicu(vodopad, 2, n);

    for (int i = 0; i < levo; ++i){
        vodopad_temp[i + 1] += vodopad_temp[i];
        vodopad_temp[i] = 0;
    }
    for (int i = n-1; i >= n - desno; --i){
        vodopad_temp[i-1] += vodopad_temp[i];
        vodopad_temp[i] = 0;
    }

    int j;
    int vodopad_temp_whole;
    for (int i = levo + 1; i <= n - desno - 2; ++i){
        if (vodopad[i] == 0){
            vodopad_temp_whole = 0;
            j = i;
            for (int k = i; vodopad[k] == 0; k++)
                ++j;
            --j;
            for (int k = i; k <= j; ++k){
                vodopad_temp_whole += vodopad_temp[k];
                vodopad_temp[k] = 0;
            }
            if (vodopad_temp_whole % 2 == 0){
                vodopad_temp[i-1] += vodopad_temp_whole / 2;
                vodopad_temp[j+1] += vodopad_temp_whole / 2;
            } else {
                vodopad_temp_whole -= 1;

                vodopad_temp[i-1] += vodopad_temp_whole / 2;
                vodopad_temp[j+1] += vodopad_temp_whole / 2;

                if (red % 2 == 0){
                    vodopad_temp[j+1] += 1;
                } else {
                    vodopad_temp[i-1] += 1;
                }
            }
            i = j+1;
        }
    }
}

int main()
{
    int h, n;
    cin >> h >> n;
    int vodopad[n];
    int vodapad_temp[n];
    for (int i = 0; i < n; ++i){
        vodapad_temp[i] = 1;
    }
    for (int i = 0; i < h; ++i){
        for (int j = 0; j < n; ++j){
            cin >> vodopad[j];
        }
        dnoVodopada(vodopad, vodapad_temp, n, i+1);
    }

    for (int i = 0; i < n; ++i){
        cout << vodapad_temp[i] << " ";
    }

    return 0;
}