A,B,K=map(int,input().split())
ans=0
n=100
while True:
    if A%n==0 and B%n==0:
        ans+=1
        if ans==K:
            print(n)
            exit()
    n-=1 A,B,K=map(int,input().split()) A map(int,input().split()) map int input().split() ().split () input split B K ans=0 ans 0 n=100 n 100 while True:
    if A%n==0 and B%n==0:
        ans+=1
        if ans==K:
            print(n)
            exit()
    n-=1 True if A%n==0 and B%n==0:
        ans+=1
        if ans==K:
            print(n)
            exit()
     A%n==0 and B%n==0 A%n==0 A%n A n 0 B%n==0 B%n B n 0 ans+=1 ans 1 if ans==K:
            print(n)
            exit()
     ans==K ans K print(n) print n exit() exit n-=1 n 1 ans=0 0 ans ans+=1 1 ans n-=1 1 n K=map(int,input().split()) map(int,input().split()) K A,B,K=map(int,input().split()) map(int,input().split()) A n=100 100 n B,K=map(int,input().split()) map(int,input().split()) B
A,B,K=map(int,input().split())
ans=0
n=100
while True:
    if A%n==0 and B%n==0:
        ans+=1
        if ans==K:
            print(n)
            exit()
    n-=1
