N = gets.to_i a = gets.split.map(&:to_i) OP = [:+, :-, :*, :/] ans = a[1..-1].inject([a[0], a[0]]) {|memo, x| d = memo.product(OP).map {|v, o| if not (x == 0 and o == :/) v.send(o, x) else 0 end } [d.min, d.max] }.max puts ans