A,B,K=map(int,input().split())
lst=[]
a=min(A,B)
for i in range(1,a+1):
    if A%i==0:
        if B%i==0:
            lst.append(i)
lst.reverse()
print(lst[K-1]) A,B,K=map(int,input().split()) A map(int,input().split()) map int input().split() ().split () input split B K lst=[] lst [] a=min(A,B) a min(A,B) min A B for i in range(1,a+1):
    if A%i==0:
        if B%i==0:
            lst.append(i) i range(1,a+1) range 1 a+1 a 1 if A%i==0:
        if B%i==0:
            lst.append(i) A%i==0 A%i A i 0 if B%i==0:
            lst.append(i) B%i==0 B%i B i 0 lst.append(i) lst.append lst append i lst.reverse() lst.reverse lst reverse print(lst[K-1]) print lst[K-1] lst K-1 K 1 A,B,K=map(int,input().split()) map(int,input().split()) A lst=[] [] lst B,K=map(int,input().split()) map(int,input().split()) B a=min(A,B) min(A,B) a K=map(int,input().split()) map(int,input().split()) K
A,B,K=map(int,input().split())
lst=[]
a=min(A,B)
for i in range(1,a+1):
    if A%i==0:
        if B%i==0:
            lst.append(i)
lst.reverse()
print(lst[K-1])