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()