완벽한 순례
시간 제한1초메모리 제한1024 MB
격자점 N개를 골라 교차하지 않는 반시계 방향 다각형을 만들고, 길이가 같은 변을 K개 이상 두는 것이 가능한지 판단합니다.
문제
순례자는 영원히 끝나지 않을 것만 같은 순례를 계속하고 있다. 순례자는 지금 있는 성지에서 다른 성지로 이동하고, 성지에 도착할 때마다 신께 기도를 드린다.
지상의 중앙에는 대성지가 있고, 대성지를 기준으로 성지들이 일정한 간격으로 나열되어 있다. 성지의 위치는 로 나타내며, 이는 대성지에서 동쪽으로 마일, 북쪽으로 마일 떨어진 곳에 있다는 뜻이다. 이면 서쪽으로 마일, 이면 남쪽으로 마일 떨어진 곳이다. 여기서 마일은 신이 천 걸음 걸었을 때 이동한 거리를 말한다.
인 모든 정수 에 대해 에 성지가 있으므로, 지상에는 정확히 개의 성지가 있다.
순례자는 이 중 개의 성지를 골라 순서대로 순례한 뒤, 처음 선택한 성지로 돌아오려고 한다. 선택한 성지들은 신이 가장 좋아하는 완벽한 모양, 정각형을 이루기를 바란다. 정각형의 특징은 많지만 대표적인 것은 다음과 같다.
- 볼록 다각형이다.
- 모든 변의 길이가 같다.
- 모든 각의 크기가 같다.
그러나 와 가 모두 정수이므로 완벽한 정각형을 만들지 못할 수도 있다. 그래서 순례자는 조건을 완화하여 다음 조건을 만족하도록 성지를 고르려고 한다. 편의상 번째 성지와 번째 성지는 같은 것으로 본다.
- 번째, 번째, 번째 성지는 반시계 방향으로 놓여 있다.
- 번째와 번째 성지 사이의 유클리드 거리를 라고 하자. 이상 이하의 정수 중에서 을 만족하는 가 개 이상 있어야 한다.
- 이상 이하의 정수 에 대해, 번째와 번째 성지를 잇는 선분과 번째와 번째 성지를 잇는 선분은 만나면 안 된다.
순례자가 이 조건을 만족하면서 개의 성지를 고를 수 있는지 판단하라. 고를 수 있다면 성지의 위치와 선택해야 할 순서를 구하라.
입력
첫 번째 줄에 선택할 성지의 개수 과 성지 거리에 대한 조건 가 공백으로 구분되어 주어진다. (, )
출력
첫 번째 줄에 조건을 만족하면서 개의 성지를 고를 수 있으면 YES, 없으면 NO를 출력한다.
고를 수 있는 경우, 이어지는 개의 줄에 선택한 성지의 위치를 순서대로 출력한다. 번째 줄에는 번째로 선택한 성지의 위치를 나타내는 두 정수 와 를 공백으로 구분하여 출력한다. 출력한 모든 위치에 성지가 있어야 정답으로 인정된다.