Algorithms and Data Structures

  • Profound Academy

    • Status
      • 1
        Implementation
      • 2
        Bitwise operations
      • 3
        Prefix Sums
      • 4
        Sliding window / Two pointers
      • 5
        Modular Arithmetic
      • 6
        Number Theory
      • 7
        Binary Search
      • 8
        Basic Sorting
      • 9
        Greedy Algorithms
      • 10
        Basic Dynamic Programming
      • 11
        Recursion
      • 12
        Linked LIst
      • 13
        Queue & Stack
      • 14
        Binary tree + BST
      • 15
        Divide & Conquer + Advanced Sorting
      • 16
        Heap
      • 17
        Hashing
      • 18
        Graph Representation
      • 19
        BFS

  • Multiply and divide

    Let’s play a game. Given an initial integer x, there are only 2 possible operations to perform:
    • (which is only allowed if x is divisible by 3)
    You are given n values which were obtained by randomly performing these operations on some initial integer x. You are asked to restore the order of operations and print the values obtained in the correct order of operations performed.

    Input

    The first line of the input contains a single integer n (1 ≀ n ≀ 60).
    The next line contains n space-separated integers that were obtained during the process. The integers do not exceed in absolute value.

    Output

    The program should print n space-separated integers in the correct order.

    Examples

    Input
    Output
    8 12 32 16 24
    12 24 8 16 32

    Explanation

    Β 

    Constraints

    Time limit: 1 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

    To check your solution you need to sign in
    Sign in to continue