#include <iostream>
#include <queue>
#include <stdio.h>

using namespace std;

int main()
{
    int n,m;
    cin>>n>>m;
    int niz[m];
    int i,j;

    for(i=0;i<m;i++){
        niz[i]=1;
    }

    queue<pair<int,int> > kju;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            int a;
            scanf("%d",&a);
            if(a==0){
                int p=j;
                int q=j;
                if(j==m-1){
                    kju.push(make_pair(j,j));
                    break;
                }
                scanf("%d",&a);
                j++;
                while(a==0){
                    q++;
                    if(j==m-1)break;
                    scanf("%d",&a);
                    j++;
                }
                kju.push(make_pair(p,q));
            }
        }
        while(!kju.empty()){
            int p=kju.front().first; int q=kju.front().second;
            kju.pop();
            int x=0;
            for(j=p;j<=q;j++){
                x+=niz[j];
                niz[j]=0;
            }
            if(p==0) {
                niz[q+1]+=x;
                continue;
            }
            if(q==m-1) {
                niz[p-1]+=x;
                continue;
            }
            niz[p-1]+=x/2;
            niz[q+1]+=x/2;
            if(i%2==1)niz[q+1]+=x%2;
            else niz[p-1]+=x%2;
        }
    }
    for(i=0;i<m;i++)
        cout<<niz[i]<<' ';
    cout<<endl;
    return 0;
}