완전 이진 트리

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

상근이는 슬로베니아의 도시 Donji Andrijevci를 여행하고 있다. 이 도시의 도로는 깊이가 KK인 완전 이진 트리를 이룬다. 깊이가 KK인 완전 이진 트리에는 노드가 2K12^K - 1개 있다. 노드마다 그 자리에 선 빌딩의 번호가 붙어 있고, 마지막 레벨을 뺀 모든 노드는 왼쪽 자식과 오른쪽 자식이 하나씩 있다.

깊이가 2와 3인 완전 이진 트리

상근이는 도시에 있는 빌딩에 모두 들어갔고, 들어간 순서대로 번호를 종이에 적었다. 한국에 돌아와 도시의 모습을 그려보려 했지만 생김새가 기억나지 않았다. 대신 어떤 순서로 돌아다녔는지는 기억해냈다.

  1. 처음에 상근이는 트리의 루트에 있는 빌딩 앞에 서 있다.
  2. 현재 노드의 왼쪽 자식에 있는 빌딩에 아직 들어가지 않았다면, 왼쪽 자식으로 이동한다.
  3. 현재 노드에 왼쪽 자식이 없거나 왼쪽 자식의 빌딩에 이미 들어갔다면, 현재 노드의 빌딩에 들어가고 그 번호를 종이에 적는다.
  4. 현재 빌딩에 이미 들어갔고 오른쪽 자식이 있다면, 오른쪽 자식으로 이동한다.
  5. 현재 빌딩과 왼쪽 자식, 오른쪽 자식의 빌딩을 모두 방문했다면, 부모 노드로 이동한다.

위 그림의 왼쪽 트리라면 상근이는 2, 1, 3 순서로 빌딩에 들어갔을 것이고, 오른쪽 트리라면 1, 6, 4, 3, 5, 2, 7 순서로 들어갔을 것이다. 상근이가 종이에 적은 순서가 주어졌을 때, 레벨마다 어떤 번호의 빌딩이 놓여 있는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 KK (1K101 \le K \le 10)가 주어진다.

둘째 줄에는 상근이가 빌딩에 들어간 순서대로 빌딩 번호 2K12^K - 1개가 공백으로 구분되어 주어진다. 번호는 서로 다르고, 모두 구간 [1,2K)[1, 2^K)에 속한다.

출력

KK개 줄에 답을 출력한다. ii번째 줄에는 레벨이 ii인 빌딩의 번호를 왼쪽에서 오른쪽 순서로 공백 하나씩 두고 출력한다.