X = gets.to_i N = X.to_s.size counter = Hash.new(0) nums = X.digits.sort.reverse vals = nums.uniq if vals.size < 2 puts -1 exit end nums.each do |n| counter[n] += 1 end ans = [] while vals.size >= 3 v = vals.shift counter[v].times do ans << v end end if vals.size >= 2 a = vals[-2] b = vals[-1] (counter[a] - 1).times do ans << a end ans << b ans << a (counter[b] - 1).times do ans << b end end if ans[0] == 0 puts -1 else puts ans.join end