#include<iostream>
using namespace std;
int main ()
{
    int n,h,is,js,valutakamenja=0,pv=0;
    bool redkamenja = false;
    cin>>h>>n;
    int a[h][n],b[h+1][n];
    for (int i=0; i<=n-1; i++)
    {
        b[0][i]=1;
    }
    for (int i=1; i<=h; i++)
    {
        for (int j=0; j<n; j++)
            b[i][j]=0;
    }
    for (int i=0; i<=h-1; i++)
    {
        for (int j=0; j<=n-1; j++)
            cin>>a[i][j];
    }
    for (int i=0;i<h;i++)
    {
        for (int j=0;j<n;j++)
        {
            if (a[i][j]==0) //naslo kamen
            {
                if (j==n-1)
                {
                    if (redkamenja)
                    {
                        b[is+1][js-1]+=b[i][j];
                        redkamenja = false;
                        valutakamenja = 0;
                    }
                    else
                    {
                        b[i+1][j-1]+=b[i][j];
                    }
                }
                else if (redkamenja==false) //de li red nije napravljen
                {
                    is = i;
                    js = j;
                    redkamenja = true;
                    b[i][j+1]+=b[i][j];
                    valutakamenja += (b[i][j]-valutakamenja);
                }
                else //red postoji
                {
                    b[i][j+1]+=b[i][j];
                    valutakamenja += (b[i][j]-valutakamenja);
                }
            }
            else //nema kamena
            {
                if (redkamenja)
                {
                    if (js==0)
                    {
                        b[i+1][j]+=b[i][j];
                    }
                    else
                    {
                        if (valutakamenja%2==1)
                        {
                            pv=valutakamenja/2;
                            if (i%2==1)
                            {
                                b[i+1][j]+=pv+(b[i][j]-valutakamenja)+1;
                                b[is+1][js-1]+=pv;
                            }
                            else
                            {
                                b[i+1][j]+=pv+(b[i][j]-valutakamenja);
                                b[is+1][js-1]+=pv+1;
                            }
                        }
                        else
                        {
                            pv=valutakamenja/2;
                            b[i+1][j]+=pv+(b[i][j]-valutakamenja);
                            b[is+1][js-1]+=pv;
                        }
                    }
                    redkamenja = false;
                    valutakamenja = 0;
                }
                else
                {
                    b[i+1][j]+=b[i][j];
                }
            }
        }
    }
    for (int i=0;i<n;i++)
    {
        cout<<b[h][i]<<" ";
    }
    return 0;

}