Problem:
F: Power of Power

ICPC で良い成績を収めるには修行が欠かせない．うさぎは ICPC で勝ちたいので，今日も修行をすることにした．

今日の修行は，非常に大きな数の計算を行って，計算力をつけて意識を高めようというものである．大きい数が簡単に出てくる演算として，累乗が挙げられる．

N 個の非負整数 A1, A2, ..., AN がある．これらの並べ替え B1, B2, ..., BN であって，B1B2...BN - 1BN が最大になるものを求めたい．うさぎたちにとってはもちろん常識であるが，この計算は右上から順に行う．また，00 = 1 であると約束することにする．

最大条件を満たす B1, B2, ..., BN は複数通りあるかもしれない．そのような場合は，そのうちで辞書順最小の列を選ぶことにしよう．

Input

N
A1
...
AN

1 ≤ N ≤ 100，0 ≤ Ai ≤ 1,000,000,000 を満たす．

Output

出力は N 行からなる．i 行目には Bi を出力せよ．

Sample Input 1

4
7
5
10
6

Sample Output 1

5
6
7
10

Sample Input 2

3
0
0
1000000000

Sample Output 2

1000000000
0
0

Solution in Ruby (judge verdict: Wrong Answer)

n = gets.to_i
h = Hash.new {|h, k| h[k] = []}
(1..n).each do
    x = gets.to_i
    if x > 4
        h[:other] << x
    else
        h[x] << x
    end
end
h[:other].sort!

a = []
if h[0].empty?
    a = h[3] + h[2] + h[4] + h[:other] + h[1]
elsif h[1].empty?
    if h[0].size > 1
        a = h[3] + h[2] + h[4] + h[:other] + h[0]
    elsif h[3].empty?
        a = h[2] + h[4]
        t = a.pop
        a += h[:other]
        a << t
        a += h[0]
    else
        a = h[3] + h[2] + h[4] + h[:other]
        a << a.shift
        a += h[0]
    end
elsif h[0].size == 1
    a = h[3] + h[2] + h[4] + h[:other]
    a += [0] * (h[0].size / 2 * 2) + [1] + [0] * (h[0].size % 2) + [1] * (h[1].size - 1)
end

puts a