import sys #sys.setrecursionlimit(10 ** 6) INF = float('inf') #10**20,2**63に変えるのもあり MOD = 10**9 + 7 MOD2 = 998244353 from collections import defaultdict def solve(): def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) def LC(): return list(input()) def IC(): return [int(c) for c in input()] def MI(): return map(int, sys.stdin.readline().split()) N = II() A = LI() def ceil(x,y): if x%y == 0: return x//y else: return x//y + 1 from heapq import heappop, heappush H = [] for a in A: heappush(H,-a) Alice = True while 2<=len(H): x = -heappop(H) y = -heappop(H) if Alice: Alice = False heappush(H,-x*y) else: Alice = True heappush(H,-ceil(x,y)) print(-H[0]) return solve()