문서를 인쇄할 때는 보통 1쪽, 2쪽, 3쪽 순서로 마지막 쪽까지 차례대로 인쇄한다. 하지만 가운데를 접어 만드는 소책자(booklet)를 인쇄할 때는 인쇄 순서를 다르게 해야 한다.
접이식 소책자는 종이 한 장에 네 쪽이 들어간다. 앞면에 두 쪽, 뒷면에 두 쪽이다. 모든 종이를 순서대로 쌓은 뒤 전체를 반으로 접으면, 일반 책처럼 쪽 번호가 올바른 순서로 나타난다. 예를 들어 4쪽짜리 소책자는 종이 한 장에 인쇄되는데, 앞면에는 왼쪽부터 4쪽과 1쪽이, 뒷면에는 왼쪽부터 2쪽과 3쪽이 놓인다.
앞면(Front) 뒷면(Back)
------------- -------------
| | | | | |
| 4 | 1 | | 2 | 3 |
| | | | | |
------------- -------------
인쇄할 쪽 수가 주어질 때, 인쇄 순서를 출력하는 프로그램을 작성하라.
입력은 하나 이상의 테스트 케이스로 이루어지며, 마지막에는 파일의 끝을 나타내는 0이 한 줄에 홀로 주어진다. 각 테스트 케이스는 인쇄할 쪽 수를 나타내는 양의 정수 $n$ 하나가 한 줄에 주어진다. $n$은 100을 넘지 않는다.
각 테스트 케이스마다 어떤 쪽을 각 종이에 인쇄해야 하는지 보고서를 출력한다.
먼저 Printing order for n pages: 형식의 줄을 출력한다(여기서 n은 쪽 수). 그다음 종이 번호 오름차순으로, 각 종이마다 앞면을 먼저, 뒷면을 나중에 출력한다.
앞면 줄의 형식은 Sheet k, front: a, b이고, 뒷면 줄의 형식은 Sheet k, back : a, b이다(back 뒤에는 front와 자리를 맞추기 위한 공백이 하나 있다). k는 종이 번호이며, a와 b는 그 위치에 인쇄되는 쪽 번호다.
인쇄할 쪽 수가 종이를 가득 채우지 못하면, 비어 있는 자리에는 숫자 대신 Blank를 출력한다. 어떤 종이의 앞면 또는 뒷면 전체가 비어 있으면, 그 면에 대한 줄은 출력하지 않는다.
서로 다른 테스트 케이스의 출력 사이에는 빈 줄을 하나 넣는다.