n = gets.chomp.to_i cs = gets.chomp.split hs = Hash.new(0) cs.map { |c| hs[c] += 1 if c.to_i.to_s != c } cs = cs.select! { |c| c.to_i.to_s == c }.sort! ds = cs max = 0 hs['-'].times do max -= cs[0].to_i cs = cs.drop(1) end hs['+'].times do max += cs[0].to_i cs = cs.drop(1) end max += cs.reverse.inject (0) { |m, x| m * 10 + x.to_i} min = 0 if 0 < hs['-'] min += ds[0].to_i ds = ds.drop(1) hs['+'].times do min += ds[0].to_i ds = ds.drop(1) end (hs['-'] - 1).times do min -= ds[0].to_i ds = ds.drop(1) end min -= ds.reverse.inject (0) { |m, x| m * 10 + x.to_i} else ds.reverse.each_with_index do |d, i| min += d.to_i * 10** (i / (hs['+'] + 1)) end end puts "#{max} #{min}"