자라나는 직교 나선은 원점에서 출발해 방향을 바꾸며 이어지는 선이다. 첫 부분은 오른쪽(양의 x축 방향)으로 자라고, 두 번째 부분은 위(양의 y축 방향), 세 번째 부분은 왼쪽(음의 x축 방향), 네 번째 부분은 아래(음의 y축 방향)로 자란다. 다섯 번째 부분부터는 오른쪽, 위, 왼쪽, 아래의 순서를 그대로 반복한다.
각 부분의 길이는 자연수이고, 바로 이전 부분의 길이보다 1 이상 커야 한다. 첫 부분의 길이는 1 이상인 자연수 중 아무 값이나 쓸 수 있다. 아래 그림은 부분의 길이를 1, 2, 4, 6, 7, 9, 11, 12, 15, 20으로 잡은 나선이다.

제1사분면의 점 (x,y)가 주어진다. 나선이 자라나 마지막 부분의 끝점이 정확히 (x,y)가 되게 할 수 있는지 판정한다. 점을 지나가기만 하면 도달로 보지 않고, 마지막 부분이 그 점에서 끝나야 한다. 도달할 수 있으면 부분 길이의 총합이 가장 작은 방법을 구한다.
첫 줄에 테스트 케이스의 개수 P가 주어진다. (1≤P≤1000)
이어지는 P개의 줄에 테스트 케이스가 하나씩 주어진다. 각 줄에는 테스트 케이스의 번호 T와 점의 좌표 x, y가 공백으로 구분되어 주어진다. (1≤x≤10000, 1≤y≤10000)
테스트 케이스마다 한 줄을 출력한다. 줄의 처음에는 입력으로 받은 테스트 케이스의 번호 T를 적는다.
어떻게 자라나도 끝점이 (x,y)가 될 수 없으면 T 뒤에 NO PATH를 적는다.
도달할 수 있으면 T 뒤에 총합이 최소인 방법의 부분 개수를 적고, 이어서 각 부분의 길이를 자란 순서대로 적는다. 총합이 최소인 방법은 항상 하나뿐이므로 답도 하나로 정해진다. 모든 값은 공백 하나로 구분한다.
끝점에 도달할 수 있는 테스트 케이스에서는 22개 이하의 부분으로 도달할 수 있다.