만드는 중입니다

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

완벽한 순례

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

요약
격자점 N개를 골라 교차하지 않는 반시계 방향 다각형을 만들고, 길이가 같은 변을 K개 이상 두는 것이 가능한지 판단합니다.
난이도

어려움10점 중 8점

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

문제

순례자는 영원히 끝나지 않을 것만 같은 순례를 계속하고 있다. 순례자는 지금 있는 성지에서 다른 성지로 이동하고, 성지에 도착할 때마다 신께 기도를 드린다.

지상의 중앙에는 대성지가 있고, 대성지를 기준으로 성지들이 일정한 간격으로 나열되어 있다. 성지의 위치는 (X,Y)(X,Y)로 나타내며, 이는 대성지에서 동쪽으로 XX마일, 북쪽으로 YY마일 떨어진 곳에 있다는 뜻이다. X<0X < 0이면 서쪽으로 −X-X마일, Y<0Y < 0이면 남쪽으로 −Y-Y마일 떨어진 곳이다. 여기서 마일은 신이 천 걸음 걸었을 때 이동한 거리를 말한다.

−231≤X,Y<231-2^{31} \leq X,Y < 2^{31}인 모든 정수 X,YX,Y에 대해 (X,Y)(X,Y)에 성지가 있으므로, 지상에는 정확히 2642^{64}개의 성지가 있다.

순례자는 이 중 NN개의 성지를 골라 순서대로 순례한 뒤, 처음 선택한 성지로 돌아오려고 한다. 선택한 성지들은 신이 가장 좋아하는 완벽한 모양, 정NN각형을 이루기를 바란다. 정NN각형의 특징은 많지만 대표적인 것은 다음과 같다.

  • 볼록 다각형이다.
  • 모든 변의 길이가 같다.
  • 모든 각의 크기가 같다.

그러나 XiX_i와 YiY_i가 모두 정수이므로 완벽한 정NN각형을 만들지 못할 수도 있다. 그래서 순례자는 조건을 완화하여 다음 조건을 만족하도록 성지를 고르려고 한다. 편의상 N+iN+i번째 성지와 ii번째 성지는 같은 것으로 본다.

  • ii번째, i+1i+1번째, i+2i+2번째 성지는 반시계 방향으로 놓여 있다.
  • ii번째와 i+1i+1번째 성지 사이의 유클리드 거리를 Li=(Xi−Xi+1)2+(Yi−Yi+1)2L_i = \sqrt{(X_i - X_{i+1})^2 + (Y_i - Y_{i+1})^2}라고 하자. 11 이상 NN 이하의 정수 ii 중에서 Li=L1L_i = L_1을 만족하는 ii가 KK개 이상 있어야 한다.
  • 22 이상 N−2N-2 이하의 정수 kk에 대해, ii번째와 i+1i+1번째 성지를 잇는 선분과 i+ki+k번째와 i+k+1i+k+1번째 성지를 잇는 선분은 만나면 안 된다.

순례자가 이 조건을 만족하면서 NN개의 성지를 고를 수 있는지 판단하라. 고를 수 있다면 성지의 위치와 선택해야 할 순서를 구하라.

입력

첫 번째 줄에 선택할 성지의 개수 NN과 성지 거리에 대한 조건 KK가 공백으로 구분되어 주어진다. (3≤N≤2 5003 \leq N \leq 2\,500, 1≤K≤N1 \leq K \leq N)

출력

첫 번째 줄에 조건을 만족하면서 NN개의 성지를 고를 수 있으면 YES, 없으면 NO를 출력한다.

고를 수 있는 경우, 이어지는 NN개의 줄에 선택한 성지의 위치를 순서대로 출력한다. ii번째 줄에는 ii번째로 선택한 성지의 위치를 나타내는 두 정수 XiX_i와 YiY_i를 공백으로 구분하여 출력한다. 출력한 모든 위치에 성지가 있어야 정답으로 인정된다.

예제2

  1. 예제 1

    입력
    4 3
    
    예상 출력
    YES
    0 0
    13 0
    8 12
    5 12
    
  2. 예제 2

    입력
    3 3
    
    예상 출력
    NO