import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// DP7 连续子数组的最大乘积
int n = in.nextInt();
int max = 0;
int all = 1;
int left = 1;
int right = 1;
boolean hasLeft = false;
boolean hasRight = false;
if (n > 1) {
for (int i = 0; i < n; i++) {
int x = in.nextInt();
max = (max > x) ? max : x;
if (x == 0) {
all = 1;
left = 1;
right = 1;
hasLeft = false;
hasRight = false;
} else {
all *= x;
max = (max > all) ? max : all;
if (all < 0) {
if (!hasLeft) {
hasLeft = true;
left = all;
} else {
int num = all / left;
max = (max > num) ? max : num;
}
if (!hasRight && x < 0) {
hasRight = true;
right = x;
} else if (hasRight && x > 0) {
right *= x;
int num = all / right;
max = (max > num) ? max : num;
} else {
right = 1;
}
}
}
}
}else{
max = in.nextInt();
}
System.out.println(max);
}
}