만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

샤르코프스키 순서

시간 제한2초메모리 제한128 MB

요약
각 테스트 케이스의 최대 255개 정수를 샤르코프스키 순서로 정렬해 한 줄에 공백으로 구분해 출력합니다.
난이도

쉬움10점 중 3점

유형
정렬, 수학
정답자
아직 제출이 없습니다

문제

실수를 실수로 보내는 연속 사상을 다룬 1964년 논문에서 샤르코프스키(Alexandr Sharkovski)는 양의 정수에 다음 순서를 매겼다.

3◃5◃7◃9◃⋯◃3×2◃5×2◃7×2◃⋯◃3×22◃5×22◃⋯◃23◃22◃2◃13 \triangleleft 5 \triangleleft 7 \triangleleft 9 \triangleleft \cdots \triangleleft 3 \times 2 \triangleleft 5 \times 2 \triangleleft 7 \times 2 \triangleleft \cdots \triangleleft 3 \times 2^2 \triangleleft 5 \times 2^2 \triangleleft \cdots \triangleleft 2^3 \triangleleft 2^2 \triangleleft 2 \triangleleft 1

여기서 a◃ba \triangleleft b는 aa가 bb보다 앞선다는 뜻이다.

Ciesielski와 Pogoda(2008)는 이 순서를 이렇게 설명한다.

먼저 3부터 시작하는 홀수가 커지는 순서로 온다. 같은 수열이 한 번 더 반복되는데, 이번에는 각 홀수에 22를 곱한 값이다. 이어서 각 홀수에 222^2을 곱한 값으로 처음 수열이 또 한 번 반복되고, 이런 식으로 계속된다. 마지막 구간은 22의 음이 아닌 거듭제곱을 작아지는 순서로 늘어놓은 것이다(1=201 = 2^0).

서로 같아도 되는 65,535 이하의 부호 없는 정수를 최대 255개, 공백으로 구분해 읽는 프로그램을 작성하시오. 목록은 0으로 끝난다. 읽은 수를 샤르코프스키 순서로 늘어놓아 한 줄에 출력한다. 한 줄 안의 수는 정확히 공백 한 개로 구분한다.

입력

첫 줄에 정수 NN (0≤N≤2550 \le N \le 255)이 주어진다. 이어서 입력 케이스 NN개가 주어진다. 각 입력 케이스는 65,535 이하의 부호 없는 정수를 최대 255개 담은 비어 있지 않은 목록이고, 서로 같은 수가 있어도 된다. 수와 수 사이는 공백으로 구분하며, 각 입력 케이스는 0으로 끝난다.

출력

입력 케이스마다 그 케이스의 수를 샤르코프스키 순서로 늘어놓아 한 줄에 출력한다. 한 줄 안의 수는 정확히 공백 한 개로 구분한다.

예제1

  1. 예제 1

    입력
    2
    3 0
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 0
    
    예상 출력
    3
    3 5 7 9 11 13 15 17 19 6 10 14 18 12 16 8 4 2 1 1