两难抉择
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现在有长度为 n 的数组 a,你可以在两种操作中选择一种进行最多一次操作。
  •  操作1:
  选择一个数 i (1\leq i\leq n) 使得 a_i:=a_i+xx 可以是 [1,n] 范围内任意正整数。
  •  操作2:
  选择一个数 i (1\leq i\leq n) 使得 a_i:=a_i * xx 可以是 [1,n] 范围内任意正整数。

请问进行操作后,最大的数组总和是多少?

输入描述:

输入包含两行.
第一行一个正整数 n (1\leq n\leq 2 * 10^5) 表示数组 a 的长度。
第二行 n 个正整数 a_i (1\leq a_i \leq10^9) 表示数组 a 的元素。

输出描述:

输出包含一行一个整数,表示最大的数组总和。
示例1

输入

复制
5
5 3 4 1 2

输出

复制
35

说明

选择第一个数 5 , 5 * 5 后使得数组总和最大,25+3+4+1+2=35