Загрузка данных


import sys

def main():
    data = sys.stdin.read().split()
    n, x, y = int(data[0]), int(data[1]), int(data[2])
    sx = -1 if x < 0 else 1
    sy = -1 if y < 0 else 1
    ax, ay = abs(x), abs(y)
    d = ax + ay
    if n < d or (n - d) % 2:
        print(-1)
        return
    k = (n - d) // 2

    pts = [(0, 0)]
    cx = cy = 0

    def go(dx, dy, cnt):
        nonlocal cx, cy
        for _ in range(cnt):
            cx += dx
            cy += dy
            pts.append((cx, cy))

    if ax > 0:
        go(0, -1, k)
        go(1, 0, ax)
        go(0, 1, ay + k)
    else:
        go(-1, 0, k)
        go(0, 1, ay)
        go(1, 0, k)

    sys.stdout.write("\n".join(f"{px * sx} {py * sy}" for px, py in pts) + "\n")

main()