import sys input = sys.stdin.readline from math import gcd from bisect import bisect N=int(input()) A=list(map(int,input().split())) A.sort() B=[] for a in A: B.append((1<<60)//a) B.reverse() OK=1<<90 NG=0 while OK>NG+1: mid=(OK+NG)//2 score=0 for a in A: k=mid//a+1 x=bisect(B,k) score+=x if score>=N*(N-1)//2: OK=mid else: NG=mid #print(OK) SA=set(A) for i in range(len(B)): k=OK/B[i] kx=round(k) if abs(k-kx)<0.000000001 and kx in SA: #print(kx,A[len(A)-1-i]) a=kx b=A[len(A)-1-i] GCD=gcd(a,b) a//=GCD b//=GCD print(a,b) break