n=int(input()) a=list(map(int,input().split())) q1=[a[0]]*4 q2=[a[0]]*4 X=10**20 for v in a[1:]: nq1=[-X]*4 nq2=[X]*4 for i in range(4): if v!=0: nq1[0]=max(nq1[0],q1[i]+v,q2[i]+v) nq1[1]=max(nq1[1],q1[i]-v,q2[i]-v) nq1[2]=max(nq1[2],q1[i]*v,q2[i]*v) nq1[3]=max(nq1[3],(abs(q1[i])//abs(v))*(2*(q1[i]*v>0)-1),(abs(q2[i])//abs(v))*(2*(q2[i]*v>0)-1)) nq2[0]=min(nq2[0],q1[i]+v,q2[i]+v) nq2[1]=min(nq2[1],q1[i]-v,q2[i]-v) nq2[2]=min(nq2[2],q1[i]*v,q2[i]*v) nq2[3]=min(nq2[3],(abs(q1[i])//abs(v))*(2*(q1[i]*v>0)-1),(abs(q2[i])//abs(v))*(2*(q2[i]*v>0)-1)) else: nq1[0]=max(nq1[0],q1[i]+v,q2[i]+v) nq1[1]=max(nq1[1],q1[i]-v,q2[i]-v) nq1[2]=max(nq1[2],q1[i]*v,q2[i]*v) nq1[3]=0 nq2[0]=min(nq2[0],q1[i]+v,q2[i]+v) nq2[1]=min(nq2[1],q1[i]-v,q2[i]-v) nq2[2]=min(nq2[2],q1[i]*v,q2[i]*v) nq2[3]=0 q1=nq1 q2=nq2 print(max(q1))