실수로 만든 유리

시간 제한0.5초메모리 제한1024 MB

요약
모든 두 점 사이 거리가 무리수이고 모든 삼각형과 다각형의 넓이가 유리수가 되는 볼록 격자 N각형을 좌표 범위 안에서 구성한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 기하, 구현
정답자
아직 제출이 없습니다

문제

볼록 격자 NN각형이란, NN개의 점으로 이루어진 모든 점의 좌표가 정수인 볼록 NN각형을 의미한다. 여기서 어떤 다각형이 볼록하다는 것은, 모든 내각이 180∘180^\circ 미만이며, 다각형을 이루는 임의의 변을 연장해도 그 다각형의 내부를 지나지 않음을 의미한다.

볼록 격자 NN각형의 NN개의 점들 중 22개의 점을 골라 만들 수 있는 선분의 개수는 M=(N2)M=\binom{N}{2}개, 33개 이상의 점을 골라 만들 수 있는 볼록 다각형의 수는 K=(N3)+(N4)+(N5)+⋯=2N−(N0)−(N1)−(N2)K=\binom{N}{3} +\binom{N}{4} +\binom{N}{5} +\cdots =2^N-\binom{N}{0} -\binom{N}{1} -\binom{N}{2}개가 존재한다.

이때, MM개의 선분의 길이는 모두 무리수이며, KK개의 볼록 다각형의 넓이는 모두 유리수가 되도록 하는 볼록 격자 NN각형을 실수로 만든 유리라 부르기로 했다.

NN이 주어졌을 때, NN개의 점으로 이루어진 실수로 만든 유리가 있다면 찾아보자.

입력

첫 번째 줄에 정수 N(1≤N≤104)N(1\le N\le 10^4)이 주어진다.

출력

첫 번째 줄부터 NN개의 줄에 걸쳐 NN개의 점으로 이루어진 실수로 만든 유리를 구성하는 점의 좌표 (x,y)\left( x,y \right)을 출력한다. 각 좌표의 범위는 0≤x,y≤5×1070\le x,y\le 5\times 10^7을 만족해야 한다.

만약 주어진 범위 내의 정답이 존재하지 않는다면 대신 첫 번째 줄에 -1을 출력한다.

예제2

  1. 예제 1

    입력
    2
    
    예상 출력
    -1
    
  2. 예제 2

    입력
    4
    
    예상 출력
    124124 0
    690690 814814
    814814 124124
    0 690690