샤르코프스키 순서
시간 제한2초메모리 제한128 MB
각 테스트 케이스의 최대 255개 정수를 샤르코프스키 순서로 정렬해 한 줄에 공백으로 구분해 출력합니다.
문제
실수를 실수로 보내는 연속 사상을 다룬 1964년 논문에서 샤르코프스키(Alexandr Sharkovski)는 양의 정수에 다음 순서를 매겼다.
여기서 는 가 보다 앞선다는 뜻이다.
Ciesielski와 Pogoda(2008)는 이 순서를 이렇게 설명한다.
먼저 3부터 시작하는 홀수가 커지는 순서로 온다. 같은 수열이 한 번 더 반복되는데, 이번에는 각 홀수에 를 곱한 값이다. 이어서 각 홀수에 을 곱한 값으로 처음 수열이 또 한 번 반복되고, 이런 식으로 계속된다. 마지막 구간은 의 음이 아닌 거듭제곱을 작아지는 순서로 늘어놓은 것이다().
서로 같아도 되는 65,535 이하의 부호 없는 정수를 최대 255개, 공백으로 구분해 읽는 프로그램을 작성하시오. 목록은 0으로 끝난다. 읽은 수를 샤르코프스키 순서로 늘어놓아 한 줄에 출력한다. 한 줄 안의 수는 정확히 공백 한 개로 구분한다.
입력
첫 줄에 정수 ()이 주어진다. 이어서 입력 케이스 개가 주어진다. 각 입력 케이스는 65,535 이하의 부호 없는 정수를 최대 255개 담은 비어 있지 않은 목록이고, 서로 같은 수가 있어도 된다. 수와 수 사이는 공백으로 구분하며, 각 입력 케이스는 0으로 끝난다.
출력
입력 케이스마다 그 케이스의 수를 샤르코프스키 순서로 늘어놓아 한 줄에 출력한다. 한 줄 안의 수는 정확히 공백 한 개로 구분한다.