#include <iostream>

using namespace std;

int main()
{
    int h,n;
    cin>>h>>n;
    int a[h][n];
    for(int i=0;i<h;i++){
        for(int j=0;j<n;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<h+1;i++){
        for(int j=0;j<n;j++){
            if(a[i-1][j]==0){
                //jeste nula
                if((i%2)==1){
                    //neparan treba ici levo
                    if(j>0){ //dali je leva ivica
                        //nije leva ivica
                        if(j<n){//dali je desna ivica
                            //nije desna ivica
                            if(i!=1){//dali je prva kolona
                                //nije prva kolona
                                if(a[i-2][j]>1){//dali je protok iz prethodne kolone veci od 1
                                    if(((i-1)%2)==1){//dali je prethodna kolona parna
                                        //neparno
                                        //povecava se levo
                                        a[i-1][j-1]++;
                                    }else{
                                        //parno
                                        //povecava se desno
                                        a[i-1][j+1]++;
                                    }
                                }else{
                                    //protok iz prethodne kolone je manji od 1
                                    //povecava se levo
                                    a[i-1][j-1]++;
                                }
                            }else{
                                //jeste prva kolona
                                //povecava se levo
                                a[i-1][j-1]++;
                            }
                        }else{
                            //jeste desna ivica
                            //povecava se levo
                            a[i-1][j-1]++;
                        }
                    }else{
                        //jeste leva ivica
                        //povecava se desno
                        a[i-1][j+1]++;
                    }
                }else if((i%2)==0){
                    //paran treba ici desno
                    if(j<n-1){//dali je desna ivica
                        //nije desna ivica
                        if(j>0){//dali je leva ivica
                            //nije leva ivica
                            if(i!=1){//dali je prva kolona
                                //nije prva kolona
                                if(a[i-2][j]>1){//dali je protok iz prethodne kolone veci od 1
                                    //veci protok od 1
                                    if(((i-1)%2)==1){//dali je prethodna kolona parna
                                        //neprano
                                        //povecava se levo
                                        a[i-1][j-1]++;
                                    }else{
                                        //parno
                                        //povecava se desno
                                        a[i-1][j+1]++;
                                    }
                                }else{
                                    //ptorok je jedan ili manji treba ici desno
                                    a[i-1][j+1]++;
                                }
                            }else{
                                //jeste prva kolona
                                //povecava se desno
                                a[i-1][j+1]++;
                            }
                        }else{
                            //jeste leva ivica
                            //povecava se desno
                            a[i-1][j+1]++;
                        }
                    }else{
                        //jeste desna ivica
                        //povecava se levo
                        a[i-1][j-1]++;
                    }
                }
            }
        }
    }
    
    for(int i=0;i<n;i++){
        cout<<a[h-1][i]<<" ";
    }
    return 0;
}