import sys
def solve():
try:
n = int(input())
orig_x = int(input())
orig_y = int(input())
except (EOFError, ValueError):
return
flip_x = orig_x < 0
flip_y = orig_y < 0
x = abs(orig_x)
y = abs(orig_y)
dist = x + y
if n < dist or (n - dist) % 2 != 0:
print(-1)
return
k = (n - dist) // 2
path = []
if y > 0:
for i in range(k + 1):
path.append((-i, 0))
for i in range(k, -1, -1):
path.append((-i, 1))
for i in range(1, x + 1):
path.append((i, 1))
for j in range(2, y + 1):
path.append((x, j))
else:
for j in range(k + 1):
path.append((0, -j))
for j in range(k, -1, -1):
path.append((1, -j))
for i in range(2, x + 1):
path.append((i, 0))
output = []
for pt in path:
px, py = pt
if flip_x:
px = -px
if flip_y:
py = -py
output.append(f"{px} {py}")
print("\n".join(output))
if __name__ == '__main__':
solve()