import sys

data= sys.stdin.readlines()
l=data[1].split(" ")

for i in range(len(l)):
    l[i]=int(l[i])
l.sort()
fushu=[]
zhengshu=[]
for item in l:
    if item<0:
        fushu.append(item)
    else:
        zhengshu.append(item)


lz=len(zhengshu)
lf=len(fushu)
max_value=0

#先计算正数的最大乘积
if lz>2:
    max_value=zhengshu[lz-1]*zhengshu[lz-2]*zhengshu[lz-3]

#如果含有负数,则用2个负数乘积去乘以最大的正数
if lf>1: 
    m2=zhengshu[lz-1]*abs(fushu[0])*abs(fushu[1])
    if m2>max_value:
        max_value=m2

print(max_value)

#此题目需要一定的分析问题能力