만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

넓이가 꼭짓점 수와 같은 직각 다각형

시간 제한5초메모리 제한128 MB

요약
정수 n이 주어질 때, 꼭짓점 n개와 넓이 n을 가지는 정규 직교 다각형의 꼭짓점을 출력하고, 불가능하면 NIE를 출력한다.
난이도

쉬움10점 중 3점

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

문제

직각 다각형은 모든 변이 xx축 또는 yy축에 평행하고, 이웃한 두 변이 항상 서로 수직인 단순 다각형이다(따라서 변이 가로와 세로로 번갈아 나타난다). 변들은 서로 닿거나 교차하지 않으며, 오직 이웃한 두 변만이 공유하는 꼭짓점에서 만난다.

정수 nn이 주어진다. 꼭짓점이 정확히 nn개이고 넓이가 정확히 nn인 직각 다각형을 생각하자. 이런 다각형은 모든 nn에 대해 존재하지는 않으며, 존재할 때에도 여러 개일 수 있다. 그래서 이 문제에서는 출력 부분에 정의된 하나의 표준 다각형을 구한다.

입력

정수 nn이 한 줄에 주어진다 (2≤n≤100002 \le n \le 10000). 필요한 꼭짓점의 개수이다.

출력

꼭짓점이 정확히 nn개이고 넓이가 정확히 nn인 직각 다각형은 nn이 짝수이고 n≥4n \ge 4일 때에만 존재한다. 존재하지 않으면 NIE(폴란드어로 '아니오')를 한 줄에 출력한다.

존재하면 다음 표준 다각형을 출력한다. m=n/2−1m = n/2 - 1이라 하자. 폭이 11인 세로 막대 mm개를 xx축 위에 나란히 세운다. 막대 ii (0≤i<m0 \le i < m)는 구간 i≤x≤i+1i \le x \le i+1을 차지하며 정수 높이 hih_i를 가진다.

  • 1≤i<m1 \le i < m일 때: ii가 짝수이면 hi=2h_i = 2, 홀수이면 hi=1h_i = 1이다.
  • h0=n−(h1+h2+⋯+hm−1)h_0 = n - (h_1 + h_2 + \cdots + h_{m-1})이다.

이 막대들의 외곽선은 꼭짓점이 정확히 nn개이고 넓이가 정확히 nn인 단순 직각 다각형이다. 그 꼭짓점들을 반시계 방향으로, 다음 순서 그대로 한 줄에 두 정수 x y(공백으로 구분)로 출력한다. 먼저 (0,0)(0, 0), 다음 (m,0)(m, 0), 다음 (m,hm−1)(m, h_{m-1})을 출력하고, 이어서 i=m−1,m−2,…,1i = m-1, m-2, \ldots, 1에 대해 두 점 (i,hi)(i, h_i)와 (i,hi−1)(i, h_{i-1})을 차례로 출력하며, 마지막으로 (0,h0)(0, h_0)을 출력한다. (m=1m = 1이면 가운데 부분은 비어 있으므로 다각형은 직사각형 (0,0),(1,0),(1,n),(0,n)(0,0), (1,0), (1,n), (0,n)이다.)

어떤 좌표도 절댓값이 10910^9을 넘지 않는다.

예제3

  1. 예제 1

    입력
    4
    
    예상 출력
    0 0
    1 0
    1 4
    0 4
    
  2. 예제 2

    입력
    6
    
    예상 출력
    0 0
    2 0
    2 1
    1 1
    1 5
    0 5
    
  3. 예제 3

    입력
    2
    
    예상 출력
    NIE