#include <bits/stdc++.h>

using namespace std;
#define MAXN 1000000

int main()
{
    int h;
    cin >> h;
    int n;
    cin >> n;
    vector<vector<int> > m( h+1 , vector<int> (n+1));
    for(int i=1;i<=h;i++)
        for(int j=1;j<=n;j++)
        cin >> m[i][j];
    vector<vector<int> > m1( h+1 , vector<int> (n+1,0));

    for(int i=1;i<=n;i++)
        m1[0][i]=1;

    for(int j=1;j<=h;j++)
    {
        for(int i=1;i<=n;i++)
        {
            if(m[j][i]) m1[j][i]=m1[j][i]+m1[j-1][i];
            if(m[j][i]==0)
            {
                m1[j][i]=0;
                int k=0;
                int k1=0;
                while(m[j][i]==0 && i<=n)
                {
                    k=k+m1[j-1][i];
                    k1++;
                    i++;
                }
                int pd=i;
                i--;
                int pl=i-k1;
                bool flag=true;
                if(pl<=0&&flag)
                {
                    m1[j][pd]=m1[j][pd]+k;
                    flag=false;
                }
                if(pd>n&&flag)
                {
                    m1[j][pl]=m1[j][pl]+k;
                    flag=false;
                }
                if(k%2==0&&flag)
                {
                    m1[j][pd]=m1[j][pd]+k/2;
                    m1[j][pl]=m1[j][pl]+k/2;
                    flag=false;
                }
                if(k%2&&flag)
                {
                    k--;
                    m1[j][pd]=m1[j][pd]+k/2;
                    m1[j][pl]=m1[j][pl]+k/2;
                    if(j%2)
                        m1[j][pl]++;
                    else
                        m1[j][pd]++;
                    flag=false;
                }
            }
        }
    }

    for(int i=1;i<=n;i++)
        cout << m1[h][i] << ' ';

    return 0;

}