#include<bits/stdc++.h>

using namespace std;

int main()
{
	int h,n;
	cin >> h >> n;
	int vodopad[h][n];
	int protok[n];
    int test2,test1;
	int privremena;


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

	for (int i = 0; i<n; i++)
	{
		protok[i] = 1;
	}


	for (int i =0; i<h; i++)
	{
		for(int j =0; j<n; j++)
		{
			if (vodopad[i][j] != 1)
			{

				if (protok[j] >1)
				{

					if(j==n-1){
						if(vodopad[i][j-1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j-1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena;
							}
					}
					else if(j==0){
						if(vodopad[i][j+1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j+1] += privremena;
							}
							else{
								test2 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2+1] += privremena;
							}					}
					else if ((i+1)%2 == 0)
					{
						if((vodopad[i][j+1]) == 1 && (vodopad[i][j-1] == 1))
							{
                            privremena = protok[j];
							protok[j] -= protok[j];
							protok[j+1] += privremena - privremena/2;
							protok[j-1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 0) && (vodopad[i][j-1] == 1))
							{
								test2 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2+1] += privremena - privremena/2;
								protok[j-1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 0) && (vodopad[i][j-1] == 0))
							{
								test2 = j;
								test1 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								while(vodopad[i][test1-1]==0)
								{
									test1--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2+1] += privremena - privremena/2;
								protok[test1-1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 1) && (vodopad[i][j-1] == 0))
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j+1] += privremena - privremena/2;
								protok[test2-1] += privremena/2;
							}
					}
					else if ((i+1)%2 != 0)
					{
						if((vodopad[i][j+1]) == 1 && (vodopad[i][j-1] == 1))
							{
                            privremena = protok[j];
							protok[j] -= protok[j];
							protok[j-1] += privremena - privremena/2;
							protok[j+1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 0) && (vodopad[i][j-1] == 1))
							{
								test2 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j-1] += privremena - privremena/2;
								protok[test2+1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 0) && (vodopad[i][j-1] == 0))
							{
								test2 = j;
								test1 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								while(vodopad[i][test1-1]==0)
								{
									test1--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test1-1] += privremena - privremena/2;
								protok[test2+1] += privremena/2;
							}
							else if ((vodopad[i][j+1] == 1) && (vodopad[i][j-1] == 0))
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena - privremena/2;
								protok[j+1] += privremena/2;
							}
					}
				}
				else if (protok[j] == 1)
				{
					if(j==0)
					{
							if(vodopad[i][j+1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j+1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2+1] += privremena;
							}
					}
					else if(j==n-1)
					{
						if(vodopad[i][j-1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j-1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena;
							}
					}
					else if ((i+1)%2 == 0)
					{
						if(vodopad[i][j+1] == 1)
							{
							privremena = protok[j];
							protok[j] -= protok[j];
							protok[j+1] += privremena;
							}
							else
							{

                                test2 = j;
								privremena = protok[j];
								protok[j] -= protok[j];

								while(vodopad[i][test2+1]==0)
								{
									test2 +=1;
								}
								protok[test2+1] += privremena;

							}
					}
					else if ((i+1)%2 != 0)
					{
						if(vodopad[i][j-1] == 1)
							{
							privremena = protok[j];
							protok[j] -= protok[j];
							protok[j-1] += privremena;
							}
							else
							{
								test2 = j;
								if (protok[j] == 1)
				{
					if(j==0)
					{
							if(vodopad[i][j+1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j+1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2+1]==0)
								{
									test2++;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2+1] += privremena;
							}
					}
					else if(j==n-1)
					{
						if(vodopad[i][j-1] == 1)
							{
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[j-1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena;
							}
					}
					else if ((i+1)%2 == 0)
					{
						if(vodopad[i][j+1] == 1)
							{
							privremena = protok[j];
							protok[j] -= protok[j];
							protok[j+1] += privremena;
							}
							else
							{

                                test2 = j;
								privremena = protok[j];
								protok[j] -= protok[j];

								while(vodopad[i][test2+1]==0)
								{
									test2 +=1;
								}
								protok[test2+1] += privremena;

							}
					}
					else if ((i+1)%2 != 0)
					{
						if(vodopad[i][j-1] == 1)
							{
							privremena = protok[j];
							protok[j] -= protok[j];
							protok[j-1] += privremena;
							}
							else
							{
								test2 = j;
								while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena;
							}
					}
				}

while(vodopad[i][test2-1]==0)
								{
									test2--;
								}
								privremena = protok[j];
								protok[j] -= protok[j];
								protok[test2-1] += privremena;
							}
					}
				}


			}

		}
	}

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

	return 0;
}