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



import sys

def solve():
  data =sys.stdin.read().split()
  if not data:return
  n,x,y=map(int,data)
  d=abs(x)+abs(y)
  if n<d or (n-d)%2:
    print(-1)
    return
  k=(n-d)//2
  pts=[(0,0)]
  cx,cy=0,0
  
  def step(tx,ty):
    nonlocal cx, cy
    while cx!=tx:
      cx+=1 if tx>cx else -1
      pts.append((cx,cy))
    while cy!=ty:
      cy+=1 if ty>cy else -1
      pts.append((cx,cy))
  
  if k>0:
    if y!=0:
      step(x+(k if x>0 else -k),0)
      step(cx,y)
      step(x,y)
    else:
      step(0,k)
      step(x,cy)
      step(cx,0)
  else:
    step(x,y)
  
  print('\n'.join(f'{px} {py}' for px,py in pts))
  
solve()