a, b, k = map(int, input().split())
l = []

for i in range(1, min(a, b)+1):
    if a % i == 0 and b % i == 0:
        l.append(i)
print(sorted(l, reverse=True)[k-1])



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

for i in range(1, min(a, b)+1):
    if a % i == 0 and b % i == 0:
        l.append(i)
print(sorted(l, reverse=True)[k-1])




