import heapq N = int(input()) A = list(map(int, input().split())) if N==1: print(A[0]) elif N ==2: print(A[0]*A[1]) else: heapq.heapify(A) isTurnAlice = True while len(A)>3: x = heapq.heappop(A) y = heapq.heappop(A) if isTurnAlice: heapq.heappush(A,x*y) else: heapq.heappush(A,-(-x//y)) isTurnAlice = not isTurnAlice s = heapq.heappop(A) m = heapq.heappop(A) l = heapq.heappop(A) if isTurnAlice: x = s*m y = l x,y = min(x,y),max(x,y) print(-(-x//y)) else: x = -(-m//l) y = s x,y = min(x,y),max(x,y) print(x*y)