n = gets.chomp.to_i a = gets.chomp.split.map(&:to_i) data = [] min = [a[0]] max = [a[0]] 1.upto(n-1) do |i| if a[i] != 0 data << [max[i-1] + a[i], max[i-1] - a[i], max[i-1] * a[i], max[i-1] / a[i], min[i-1] + a[i], min[i-1] - a[i], min[i-1] * a[i], min[i-1] / a[i],] else data << [max[i-1] + a[i], max[i-1] - a[i], max[i-1] * a[i], 0, min[i-1] + a[i], min[i-1] - a[i], min[i-1] * a[i], 0] end max << data[i-1].max min << data[i-1].min end puts max[n-1]