using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] x = Console.ReadLine().Split();
            int n = int.Parse(x[0]);
            int m = int.Parse(x[1]);
            int[,] vodopad = new int[n + 2, m];
            for (int i = 0; i < m; i++)
            {
                vodopad[0, i] = 1;
                vodopad[n + 1, i] = 0;
            }
            for (int i = 1; i < n + 1; i++)
            {
                x = Console.ReadLine().Split();
                for (int j = 0; j < m; j++)
                    vodopad[i, j] = int.Parse(x[j]) - 1;
            }
            bool dole;
            bool levo;
            bool desno;
            bool desno1;
            bool levo1;
            for (int i = 0; i < n + 1; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    if (vodopad[i, j] >= 1)
                    {
                        dole = false;
                        desno = false;
                        levo = false;
                        desno1 = false;
                        levo1 = false;
                        if (vodopad[i + 1, j] != -1)
                            dole = true;
                        else
                        {
                            if (j > 0 && j < m - 1)
                            {
                                if (vodopad[i + 1, j + 1] != -1)
                                    desno = true;
                                if (vodopad[i + 1, j - 1] != -1)
                                    levo = true;
                            }
                            else if (j == 0)
                            {
                                if (vodopad[i + 1, j + 1] != -1)
                                    desno = true;
                            }
                            else if (j == m - 1)
                            {
                                if (vodopad[i + 1, j - 1] != -1)
                                    levo = true;
                            }
                        }
                        if (dole == true)
                            vodopad[i + 1, j] += vodopad[i, j];
                        else
                        {
                            if (levo == true && desno == true)
                            {
                                if (vodopad[i, j] % 2 == 0)
                                {
                                    vodopad[i + 1, j + 1] += vodopad[i, j] / 2;
                                    vodopad[i + 1, j - 1] += vodopad[i, j] / 2;
                                }
                                else
                                {
                                    if ((i + 1) % 2 == 0)
                                    {
                                        vodopad[i + 1, j + 1] += vodopad[i, j] / 2 + 1;
                                        vodopad[i + 1, j - 1] += vodopad[i, j] / 2;
                                    }
                                    else
                                    {
                                        vodopad[i + 1, j - 1] += vodopad[i, j] / 2 + 1;
                                        vodopad[i + 1, j + 1] += vodopad[i, j] / 2;
                                    }
                                }
                            }
                            else
                            {
                                int l = -1, d = -1;
                                for (int k = j - 1; k > -1; k--)
                                {
                                    if (vodopad[i + 1, k] != -1)
                                    {
                                        levo1 = true;
                                        l = k;
                                        break;
                                    }
                                }
                                for (int k = j + 1; k < m; k++)
                                {
                                    if (vodopad[i + 1, k] != -1)
                                    {
                                        desno1 = true;
                                        d = k;
                                        break;
                                    }
                                }
                                if (desno1 == true && levo1 == true)
                                {
                                    if (vodopad[i, j] % 2 == 0)
                                    {
                                        vodopad[i + 1, l] += vodopad[i, j] / 2;
                                        vodopad[i + 1, d] += vodopad[i, j] / 2;
                                    }
                                    else
                                    {
                                        if ((i + 1) % 2 == 0)
                                        {
                                            vodopad[i + 1, d] += vodopad[i, j] / 2 + 1;
                                            vodopad[i + 1, l] += vodopad[i, j] / 2;
                                        }
                                        else
                                        {
                                            vodopad[i + 1, l] += vodopad[i, j] / 2 + 1;
                                            vodopad[i + 1, d] += vodopad[i, j] / 2;
                                        }
                                    }
                                }
                                else if (desno1 == true && levo1 == false)
                                {
                                    vodopad[i + 1, d] += vodopad[i, j];
                                }
                                else if (levo1 == true && desno1 == false)
                                {
                                    vodopad[i + 1, l] += vodopad[i, j];
                                }
                            }

                        }
                    }
                }
            }
            for (int i = 0; i < m; i++)
                Console.Write(vodopad[n + 1, i] + " ");
            Console.WriteLine();
        }
    }
}