//protok zavisi od stena i ima vise grananja
#include <iostream>
#include <cmath>
using namespace std;
int main(){
long long h,n,a,b;
cin>> h >> n;
long long vodopad[h][n];
long long proticanje[n];
int tempo_protoka;
for (int i = 0; i<n; i++){
proticanje[i] = 1;
}
for(int v = 0; v<h; v++){
for(int k = 0; k<n; k++){
    cin>>vodopad[v][k];
}
}
for(int v =0; v<h; v++){
    for(int k =0; k<n; k++){
        if(vodopad[v][k] == 0){
            if(proticanje[k] == 1){
                if(k==0){
                    if(vodopad[v][k+1] == 1){
                        tempo_protoka = proticanje[k];
                        proticanje[k] -= proticanje[k];
                        proticanje[k+1] += tempo_protoka;
}else{
    a = k;
    while(vodopad[v][a+1]==0){
    a++;
    }
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a+1] += tempo_protoka;
}
}
}else if ((v+1)%2 == 0){
    if(vodopad[v][k+1] == 1){
tempo_protoka = proticanje[k];
proticanje[k] -= proticanje[k];
proticanje[a+1] += tempo_protoka;
}else{
a = k;
while(vodopad[v][a+1]==0){
a++;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a+1] += tempo_protoka;
}
}
else if(k==n-1){
    if(vodopad[v][k-1] == 1){
        tempo_protoka = proticanje[k];
        proticanje[k] -= proticanje[k];
        proticanje[k-1] += tempo_protoka;
}else{
a = k;
while(vodopad[v][a-1]==0){
    a--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a-1] += tempo_protoka;
}
}else if ((v+1)%2 != 0){
    if(vodopad[v][k-1] == 1){
        tempo_protoka = proticanje[k];
        proticanje[k] -= proticanje[k];
        proticanje[k-1] += tempo_protoka;
}
}else if (proticanje[k] >1){
if(k==0){
    if(vodopad[v][k+1] == 1){
        tempo_protoka = proticanje[k];
        proticanje[k] -= proticanje[k];
        proticanje[k+1] += tempo_protoka;
}else{
a = k;
while(vodopad[v][a+1]==0){
a++;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a+1] += tempo_protoka;
}
}else if(k==n-1){
if(vodopad[v][k-1] == 1){
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[k-1] += tempo_protoka;
}else{
    a = k;
while(vodopad[v][a-1]==0){
    a--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a-1] += tempo_protoka;
}
}else if ((v+1)%2 == 0){
if((vodopad[v][k+1]) == 1 && (vodopad[v][k-1] == 1)){
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[k+1] += tempo_protoka - tempo_protoka/2;
    proticanje[k-1] += tempo_protoka/2;
}else if ((vodopad[v][k+1] == 0) && (vodopad[v][k-1] == 1)){
    a = k;
while(vodopad[v][a+1]==0){
a++;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a+1] += tempo_protoka - tempo_protoka/2;
    proticanje[k-1] += tempo_protoka/2;
}else if ((vodopad[v][k+1] == 0) && (vodopad[v][k-1] == 0)){
    a = k;
    b = k;
while(vodopad[v][a+1]==0){
a++;
}
while(vodopad[v][b-1]==0){
b--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a+1] += tempo_protoka - tempo_protoka/2;
    proticanje[b-1] += tempo_protoka/2;
}else if ((vodopad[v][k+1] == 1) && (vodopad[v][k-1] == 0)){
    a = k;
while(vodopad[v][a-1]==0){
    a--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[k+1] += tempo_protoka - tempo_protoka/2;
    proticanje[a-1] += tempo_protoka/2;
}
}else if ((v+1)%2 != 0){
if((vodopad[v][k+1]) == 1 && (vodopad[v][k-1] == 1)){
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[k-1] += tempo_protoka - tempo_protoka/2;
    proticanje[k+1] += tempo_protoka/2;
}
}else if ((vodopad[v][k+1] == 0) && (vodopad[v][k-1] == 0)){
    a = k;
    b = k;
while(vodopad[v][a+1]==0){
    a++;
}
while(vodopad[v][b-1]==0){
    b--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[b-1] += tempo_protoka - tempo_protoka/2;
    proticanje[a+1] += tempo_protoka*0.5;
}else if ((vodopad[v][k+1] == 1) && (vodopad[v][k-1] == 0)){
    a = k;
while(vodopad[v][a-1]==0){
    a--;
}
    tempo_protoka = proticanje[k];
    proticanje[k] -= proticanje[k];
    proticanje[a-1] += tempo_protoka - tempo_protoka/2;
    proticanje[k+1] += tempo_protoka*0.5;
}
}
}
}
}
for(int i =0; i<n; i++){
    cout<<proticanje[i]<<" ";
}
return 0;
}