from math import gcd A, B = map(int, input().split()) Lorg = A ** 2 + B ** 2 g = gcd(A, B) A //= g B //= g L = A ** 2 + B ** 2 ifSwap = 0 if A < B: A, B = B, A ifSwap = 1 # grid = [["" for _ in range(L)] for _ in range(L)] xy = [] for i in range(L): i0 = A * i % L j0 = B * i % L xy.append([i0, j0]) # for r in range(A): # for c in range(A): # grid[(i0 + r) % L][(j0 + c) % L] = 'o' for i in range(L): i0 = A * (i + 1) % L j0 = B * i % L xy.append([i0, j0]) # for r in range(B): # for c in range(B): # grid[(i0 + r) % L][(j0 + c) % L] = 'x' for i in range(2 * L): if ifSwap: x, y = xy[(i + L) % (2 * L)] else: x, y = xy[i] for j in range(g): for k in range(g): print(x * g + L * g * j, y * g + L * g * k) # for i in range(L): # print("".join(grid[i]))