from math import gcd

a, b, k = list(map(int, input().split()))
g = gcd(a, b)
l = []
i = 1
while i * i <= g:
    if g % i == 0:
        l.append(i)
        if i != g // i:
            l.append(g // i)
    i += 1
l.sort()
print(l[-k]) from math import gcd a, b, k = list(map(int, input().split())) a list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split b k g = gcd(a, b) g gcd(a, b) gcd a b l = [] l [] i = 1 i 1 while i * i <= g:
    if g % i == 0:
        l.append(i)
        if i != g // i:
            l.append(g // i)
    i += 1 i * i <= g i * i i i g if g % i == 0:
        l.append(i)
        if i != g // i:
            l.append(g // i)
     g % i == 0 g % i g i 0 l.append(i) l.append l append i if i != g // i:
            l.append(g // i)
     i != g // i i g // i g i l.append(g // i) l.append l append g // i g i i += 1 i 1 l.sort() l.sort l sort print(l[-k]) print l[-k] l -k k b, k = list(map(int, input().split())) list(map(int, input().split())) b i += 1 1 i a, b, k = list(map(int, input().split())) list(map(int, input().split())) a g = gcd(a, b) gcd(a, b) g k = list(map(int, input().split())) list(map(int, input().split())) k l = [] [] l i = 1 1 i
from math import gcd

a, b, k = list(map(int, input().split()))
g = gcd(a, b)
l = []
i = 1
while i * i <= g:
    if g % i == 0:
        l.append(i)
        if i != g // i:
            l.append(g // i)
    i += 1
l.sort()
print(l[-k])
