local function mma(x, y) if x < y then return y else return x end end local n = io.read("*n") local a = {} for i = 1, n do a[i] = io.read("*n") end local ret = 0 for i = 1, n do ret = ret + a[i] end local function rec(v, i) if i < n then rec(v + a[i], i + 1) rec(v - a[i], i + 1) rec(v * a[i], i + 1) else ret = mma(ret, v + a[i]) ret = mma(ret, v - a[i]) ret = mma(ret, v * a[i]) end end rec(0LL + a[1], 2) local str = tostring(ret):gsub("LL", "") print(str)