#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    long long n, m;
    scanf("%lld %lld",&n,&m);
    long long a1[m];
    long long levo = 0, desno = 0;
    long long k;
    for(int i = 0;i < m;i++){
        a1[i] = 1;
    }
    long long a[m][n];
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++)
            scanf("%lld",&a[i][j]);
    }
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++){
            if(a[i][j] == 0){
                if(j == 0){
                    k = a1[j];
                    a1[j] = 0;
                    j++;
                    while(a[i][j] == 0){
                        a1[j] = 0;
                        j++;
                    }
                    a1[j]+=k;

                }else{
                    if(a1[j] % 2 == 0){
                        levo = a1[j] / 2;
                        desno = a1[j] / 2;
                    }else{
                        if((i + 1) % 2 == 0){
                            desno = a1[j] / 2 + 1;
                            levo = a1[j] / 2;

                        }else{
                            desno = a1[j] / 2;
                            levo = a1[j] / 2 + 1;
                        }
                    }
                    a1[j] = 0;
                    long long k = j;
                    j++;
                    while(j < m && a[i][j] == 0){
                            //cout << "u ovom sranju mrtvom j je " << i << j << " " << a[i][j] << endl;
                        if(a1[j] % 2 == 0){
                            levo += a1[j] / 2;
                            desno += a1[j] / 2;
                        }else{
                            if((i + 1) % 2 == 0){
                                desno += a1[j] / 2 + 1;
                                levo += a1[j] / 2;
                            }else{
                                desno += a1[j] / 2;
                                levo += a1[j] / 2 + 1;
                            }
                        }
                        a1[j] = 0;
                        j++;
                    }
                    j--;
                    //cout << "levo je : " << levo << " a desno je: " << desno << endl;
                    //cout << "k je " << k << " j je " << j << endl;
                    if(j == m - 1){
                        a1[k - 1] += levo + desno;
                    }else{
                        //cout << "ovde dole sam uso" << endl;
                        a1[k - 1] += levo;
                        a1[j + 1] += desno;
                    }

                }
            }

        }




    }



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

}