#include <iostream>
using namespace std;
int main() {
int width, height;
int states[][2] = {{0, -1}, {1, 0}, {0, 1}, {-1, 0}};
cin >> width >> height;
cout << '\n';
int peaks[] = {0, 0, height, width};
int pos[] = {0, width-1};
int state = 0;
while (true) {
if (peaks[0] == peaks[2] || peaks[1] == peaks[3]) {
break;
}
cout << pos[1] << ' ';
int tpos[] = {pos[0] + states[state][0], pos[1] + states[state][1]};
if (tpos[0] < peaks[0] || tpos[0] == peaks[2] || tpos[1] < peaks[1] || tpos[1] == peaks[3]) {
peaks[state] += states[state][0] - states[state][1];
state = (state + 1) % 4;
cout << '\n';
continue;
}
pos[0] = tpos[0];
pos[1] = tpos[1];
}
cout << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgd2lkdGgsIGhlaWdodDsKICAgIGludCBzdGF0ZXNbXVsyXSA9IHt7MCwgLTF9LCB7MSwgMH0sIHswLCAxfSwgey0xLCAwfX07CiAgICBjaW4gPj4gd2lkdGggPj4gaGVpZ2h0OwogICAgY291dCA8PCAnXG4nOwogICAgaW50IHBlYWtzW10gPSB7MCwgMCwgaGVpZ2h0LCB3aWR0aH07CiAgICBpbnQgcG9zW10gPSB7MCwgd2lkdGgtMX07CiAgICBpbnQgc3RhdGUgPSAwOwogICAgd2hpbGUgKHRydWUpIHsKICAgICAgICBpZiAocGVha3NbMF0gPT0gcGVha3NbMl0gfHwgcGVha3NbMV0gPT0gcGVha3NbM10pIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgcG9zWzFdIDw8ICcgJzsKICAgICAgICBpbnQgdHBvc1tdID0ge3Bvc1swXSArIHN0YXRlc1tzdGF0ZV1bMF0sIHBvc1sxXSArIHN0YXRlc1tzdGF0ZV1bMV19OwogICAgICAgIGlmICh0cG9zWzBdIDwgcGVha3NbMF0gfHwgdHBvc1swXSA9PSBwZWFrc1syXSB8fCB0cG9zWzFdIDwgcGVha3NbMV0gfHwgdHBvc1sxXSA9PSBwZWFrc1szXSkgewogICAgICAgICAgICBwZWFrc1tzdGF0ZV0gKz0gc3RhdGVzW3N0YXRlXVswXSAtIHN0YXRlc1tzdGF0ZV1bMV07CiAgICAgICAgICAgIHN0YXRlID0gKHN0YXRlICsgMSkgJSA0OwogICAgICAgICAgICBjb3V0IDw8ICdcbic7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBwb3NbMF0gPSB0cG9zWzBdOwogICAgICAgIHBvc1sxXSA9IHRwb3NbMV07CiAgICB9CiAgICBjb3V0IDw8ICdcbic7Cn0K