a,b,k=map(int,input().split())
N=[]
for i in range(1,min(a,b)+1):
    if (a%i==0 and b%i==0):
            N.append(i)
N.reverse()
print(N[k-1]) a,b,k=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b k N=[] N [] for i in range(1,min(a,b)+1):
    if (a%i==0 and b%i==0):
            N.append(i) i range(1,min(a,b)+1) range 1 min(a,b)+1 min(a,b) min a b 1 if (a%i==0 and b%i==0):
            N.append(i) a%i==0 and b%i==0 a%i==0 a%i a i 0 b%i==0 b%i b i 0 N.append(i) N.append N append i N.reverse() N.reverse N reverse print(N[k-1]) print N[k-1] N k-1 k 1 N=[] [] N k=map(int,input().split()) map(int,input().split()) k a,b,k=map(int,input().split()) map(int,input().split()) a b,k=map(int,input().split()) map(int,input().split()) b
a,b,k=map(int,input().split())
N=[]
for i in range(1,min(a,b)+1):
    if (a%i==0 and b%i==0):
            N.append(i)
N.reverse()
print(N[k-1])