#include <iostream>

int vrednosti[1000000];
bool vodopad[1000000];


int main() {
	std::ios_base::sync_with_stdio("false");

	int visina, sirina;
	std::cin >> visina >> sirina;
	//int *vrednosti = new int(sirina);
	for (int i = 0; i < sirina; i++)
		vrednosti[i] = 1;
	//bool *vodopad = new bool(sirina);

	int left_ind, right_ind, vrednost_grupe;
	bool was_free;

	for (int i = 0; i < visina; i++) {
		for (int j = 0; j < sirina; j++)
			std::cin >> vodopad[j];

		vrednost_grupe = 0;
		was_free = true;

		for (int j = 0; j < sirina; j++) {
			if (vodopad[j]) {
				if (!was_free) {
					was_free = true;

					if (left_ind < 0)
						vrednosti[right_ind] += vrednost_grupe;
					else {
						vrednosti[left_ind] += vrednost_grupe / 2;
						vrednosti[right_ind] += vrednost_grupe / 2;

						if (i % 2 == 1)
							vrednosti[right_ind] += vrednost_grupe % 2;
						else
							vrednosti[left_ind] += vrednost_grupe % 2;
					}

					vrednost_grupe = 0;
				}
			}
			else {
				if (was_free) {
					left_ind = j - 1;
					was_free = false;
				}
				right_ind = j + 1;
				vrednost_grupe += vrednosti[j];
				vrednosti[j] = 0;
			}

		}
		
		if (!was_free) {
			vrednosti[left_ind] += vrednost_grupe;
			vrednost_grupe = 0;
		}
	}
	
	for (int i = 0; i < sirina; i++)
		std::cout << vrednosti[i] << " ";

	//delete[] vrednosti;
	//delete[] vodopad;
	return 0;
}