s = gets.chomp arr = s.each_char.chunk { |e| e.match?(/[*+]/) }.map { |bool, e| bool ? e[0] : e.join } until arr.size == 1 a, op, b = arr.shift(3) op.tr!('*+', '+*') arr.unshift(eval([a, op, b].join)) end puts arr[0]