# i487
# Ender Rozina Júlia 9.A
# Eötvös József Gimnázium Budapest
# Python 3
#############################################

# Legnagyobb közös osztó Euler módszer
def lnkoe(a,b):
    if b>a:
        a,b = b,a
    while b>0:
        a, b = b, a%b
    return a
    
#---főprogram ---------------------
db=int(input())                                                 # bekért darabszám
szamsor=input()                                                 # számok szóközzel elválasztva
szam_str_list=szamsor.split()                                   # lista elemekre bontás
if db!=len(szam_str_list):                                      #Bevitt adatok számának ellenőrzése
    print('Hibás input, a számok darabszáma: ',len(szam_list))
else:
    szam_list=[]                                                # integer lista
    for i in range(0,len(szam_str_list)):
        szam_list.append(int(szam_str_list[i]))
    szam_list.sort(reverse=True)                                # csökkenő sorrendbe rendezés
    a_talalt=0                                                  # a) feladatrész
    for i in range(0,db):
        a_talalt=szam_list[i]
        for j in range(i+1,db):
            if lnkoe(szam_list[i],szam_list[j])>1:
                a_talalt=0
                break;
        if a_talalt==szam_list[i]:
            break
    b_talalt=0                                                  # b) feladatrész
    i=a_talalt+1
    while b_talalt==0:
        b_talalt=i
        for j in range(0,db):
            if i>szam_list[j] and lnkoe(i,szam_list[j])!=1:
               b_talalt=0
               break
        i+=1
print(a_talalt)                                                 # eredmények kiírása
print(b_talalt)
