import sys
#input = sys.stdin.readline #文字列につけてはダメ
#input = sys.stdin.buffer.readline #文字列につけてはダメ
#sys.setrecursionlimit(1000000)
#import bisect
#import itertools
#import random
from heapq import heapify, heappop, heappush
#from collections import defaultdict 
#from collections import deque
#import copy
#import math
#from functools import lru_cache
#@lru_cache(maxsize=None)
#MOD = pow(10,9) + 7
#MOD = 998244353
#dx = [1,0,-1,0]
#dy = [0,1,0,-1]


def main():
    N = int(input())
    A = list(map(int,input().split()))
    A.sort()
    if N == 1:
        print(A[0])
    elif N == 2:
        print(A[0]*A[1])
    elif N%2 == 1:
        print(1)
    else:
        B = []
        B.append(A[0]*A[1])
        for i in range(2,N):
            B.append(A[i])
        B.sort()
        print(B[0])
    

if __name__ == '__main__':
    main()