import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    }
} Main public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    } main {
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String[] split = sc.nextLine().split(" "); split sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " int A = Integer.parseInt(split[0]); A Integer.parseInt(split[0]) Integer.parseInt Integer split[0] split 0 int B = Integer.parseInt(split[1]); B Integer.parseInt(split[1]) Integer.parseInt Integer split[1] split 1 int K = Integer.parseInt(split[2]); K Integer.parseInt(split[2]) Integer.parseInt Integer split[2] split 2 List<Integer> list = new ArrayList<Integer>(); list new ArrayList<Integer>() for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        } int i = 1; int i = 1; i 1 i < 101 i 101 i++ i++ i {
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        } {
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        } if(A % i == 0 && B % i == 0){
                list.add(i);
            } A % i == 0 && B % i == 0 A % i == 0 A % i A i 0 B % i == 0 B % i B i 0 {
                list.add(i);
            } list.add(i) list.add list i System.out.println(list.get(list.size() - K)) System.out.println System.out System System.out list.get(list.size() - K) list.get list list.size() - K list.size() list.size list K String[] args args public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    }
} public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        String[] split = sc.nextLine().split(" ");
        
        int A = Integer.parseInt(split[0]);
        int B = Integer.parseInt(split[1]);
        int K = Integer.parseInt(split[2]);
        
        List<Integer> list = new ArrayList<Integer>();
        
        for(int i = 1; i < 101; i++){
            if(A % i == 0 && B % i == 0){
                list.add(i);
            }
        }
        
        System.out.println(list.get(list.size() - K));
    }
}