2025년의 맨해튼은 인구가 너무 밀집한 나머지, 기존의 2차원 도로망(거리와 대로)만으로는 자동차, 자전거, 버스 같은 전통적인 교통수단을 모두 수용할 공간이 부족하다. 그래서 새로 개발된 3D 스카이제터(3D-Skyjetter)가 큰 인기를 끌게 되었는데, 공중을 날아 지상의 교통 체증을 피할 수 있기 때문이다. 3D 스카이제터가 모퉁이를 질러 가다 끔찍한 사고가 잇따르자, 시 당국은 새로운 항공 교통 규정을 도입하고 이를 엄격히 시행하기로 했다. 규정의 핵심은 3D 스카이제터가 반드시 3차원 직교 격자 위에 놓인 가상 항로만을 따라야 한다는 것이다.
당신은 3D 스카이제터를 대여하는 회사를 운영한다. 3D 스카이제터는 아직 경제성이 크게 떨어져서, 고객들은 하필 곤란한 곳에서 연료가 자꾸 떨어진다. 그래서 고객에게 현재 이동 가능 범위를 언제든 알려 줄 시스템이 필요하다.
격자에서 한 교차점에서 이웃한 교차점으로 이동하는 데에는, 수평이든 수직이든, 위로든 아래로든 항상 연료 1단위가 든다고 하자. 또한 고객은 지면이나 다른 장애물의 제약 없이 오직 남은 연료량에 의해서만 이동이 제한되는 어떤 교차점에 있다고 하자.
연료량이 주어졌을 때, 고객이 도달할 수 있는 모든 교차점과 그곳까지 가는 데 필요한 연료량을 텍스트 그림으로 나타내어라.
첫 줄에 시나리오의 개수가 주어진다. 각 시나리오는 한 줄에 남은 연료량을 나타내는 정수 u 하나로 이루어지며, 0≤u≤9를 만족한다. 연료가 9단위를 넘게 남아 있으면 고객은 어차피 화면을 보지 않는다.
각 시나리오의 출력은 Scenario #i: 형태의 줄로 시작한다. 여기서 i는 1부터 시작하는 시나리오 번호이다. 그 다음, 주어진 연료로 도달할 수 있는 모든 교차점과 그곳까지 필요한 연료량을 텍스트 그림으로 출력한다.
이 그림에서는 범위 안의 모든 교차점을 포함하는 가장 작은 축 정렬 정육면체의 각 층(slice)을 출력한다. 층은 맨 아래에서 위로 1부터 번호를 매긴다. 각 층은 slice #s: 형태의 줄로 시작하며, s는 층 번호이다. 이어지는 줄들에는 그 층에 속한 교차점들을 다음과 같이 나타낸다.
0부터 9까지로,.으로 표시한다.연속한 두 시나리오 사이에는 빈 줄을 하나 넣어 구분한다. (마지막 시나리오 뒤에는 빈 줄을 넣지 않는다.)