나3곱2

면접 대비

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

요약
3으로 나누기와 2 곱하기 연산으로 만든 수열 A를 섞은 B가 주어질 때, 원래 순서 A를 복원한다.
난이도

보통10점 중 5점

유형
그래프, DFS, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

나3곱2 게임은 정수 하나를 이용한다. 먼저 정수 xx로 시작하고, 연산을 N−1N-1번 적용한다. 적용할 수 있는 연산은 두 가지다.

  • 나3: xx를 3으로 나눈다. xx는 3으로 나누어 떨어져야 한다.
  • 곱2: xx에 2를 곱한다.

나3곱2 게임을 진행하면서 만든 수를 모두 기록하면 수열 AA를 만들 수 있다. 예를 들어 x=9x = 9, N=6N = 6이고 적용한 연산이 곱2, 곱2, 나3, 곱2, 나3인 경우에 A=[9,18,36,12,24,8]A = [9, 18, 36, 12, 24, 8]이다.

수열 AA의 순서를 섞은 수열 BB가 주어졌을 때, 수열 AA를 구해보자.

입력

첫째 줄에 수열의 크기 N(2≤N≤100)N(2 \le N \le 100)이 주어진다. 둘째 줄에는 수열 BB가 주어진다. BB에 포함된 원소는 101810^{18}보다 작거나 같은 자연수이다.

출력

나3곱2 게임의 결과 수열 AA를 출력한다. 항상 정답이 존재하는 경우에만 입력으로 주어지며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

예제2

  1. 예제 1

    입력
    6
    4 8 6 3 12 9
    
    예상 출력
    9 3 6 12 4 8
    
  2. 예제 2

    입력
    4
    42 28 84 126
    
    예상 출력
    126 42 84 28