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

print(war[k-1]) a,b,k=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b k war=[] war [] for i in range(1,max(a,b)+1):
  if a%i==0 and b%i==0:
    war.append(i) i range(1,max(a,b)+1) range 1 max(a,b)+1 max(a,b) max a b 1 if a%i==0 and b%i==0:
    war.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 war.append(i) war.append war append i war.reverse() war.reverse war reverse print(war[k-1]) print war[k-1] war k-1 k 1 b,k=map(int,input().split()) map(int,input().split()) b a,b,k=map(int,input().split()) map(int,input().split()) a war=[] [] war k=map(int,input().split()) map(int,input().split()) k
a,b,k=map(int,input().split())
war=[]
for i in range(1,max(a,b)+1):
  if a%i==0 and b%i==0:
    war.append(i)
war.reverse()

print(war[k-1])