모그와 루날리티는 사이가 썩 좋지 않지만, 바닥에 타일을 깔고 색칠하는 일을 함께 맡게 되었다. 두 사람은 다음과 같이 역할을 나누기로 했다.
바닥은 무한한 크기의 좌표평면으로 이루어져 있다. 모그가 먼저 이 좌표평면에 개의 타일을 배치한다. 첫 번째 타일은 위치에 놓으며, 이후 새로운 타일을 놓을 때에는 다음 규칙을 반드시 따라야 한다.
모그가 모든 타일 배치를 마치면, 루날리티가 타일들을 색칠한다. 루날리티는 모그를 골탕 먹이기 위해 가능한 한 많은 종류의 색을 사용하려 한다. 각 타일은 하나의 색으로만 칠할 수 있다. 단, 모든 타일을 색칠한 뒤에는 다음 규칙을 만족해야 한다.
모그는 루날리티가 위 규칙을 지키면서 최적의 전략으로 색칠했을 때, 사용된 색의 개수가 정확히 개가 되도록 타일을 배치하고자 한다. 과 가 주어졌을 때, 모그가 타일을 어떻게 배치해야 하는지 구하여라. 이러한 배치가 불가능한 경우도 있을 수 있다.
첫째 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스의 첫째 줄에 양의 정수 가 공백으로 구분되어 주어진다.
각 테스트 케이스의 첫째 줄에 모그가 문제의 조건에 맞게 타일을 배치하는 것이 가능하다면 YES를, 불가능하다면 NO를 출력한다. 대소문자는 구분하지 않는다.
만약 가능하다면, 각 테스트 케이스의 둘째 줄부터 개의 줄에 걸쳐 배치할 타일의 좌표 를 공백으로 구분하여 출력한다. 이때 는 배치되는 순서대로 출력해야 하며, 각 타일은 배치되는 시점에 상하좌우 중 최소 한 곳에 이미 타일이 존재하는 위치여야 한다. 위치에는 처음부터 타일이 놓여있다고 생각한다.
2 5 2 10 2
YES 1 0 2 0 1 -1 1 -2 NO