#include <cstdio>

int main()
{
	const int w = 10, h = 10;

	int t[h][w];
	int i = 0, j = 0, k = 2;
	int dir = 1;

	if (w > 0 && h > 0)
		t[0][0] = 1;

	while (k <= w * h)
		if (dir == 1) // z gury na dul
		{
			++(j + 1 < w ? j : i);

			while (i < h && j >= 0)
				t[i++][j--] = k++;

			i--, j++;
			dir = 2;
		}
		else // z dolu do gury
		{
			++(i + 1 < h ? i : j);

			while (i >= 0 && j < w)
				t[i--][j++] = k++;

			i++, j--;
			dir = 1;
		}

	for (int i = 0; i < h; i++)
	{
		for (int j = 0; j < w; j++)
			printf("%d ", t[i][j]);
		printf("\n");
	}

	return 0;
}