import java.util.*;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    } main {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int b = sc.nextInt(); b sc.nextInt() sc.nextInt sc int k = sc.nextInt(); k sc.nextInt() sc.nextInt sc ArrayList<Integer> aa = new ArrayList<Integer>(); aa new ArrayList<Integer>() ArrayList<Integer> bb = new ArrayList<Integer>(); bb new ArrayList<Integer>() ArrayList<Integer> kk = new ArrayList<Integer>(); kk new ArrayList<Integer>() for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        } int i = 1; int i = 1; i 1 i <= a i a i++ i++ i {
            if (a % i == 0) {
                aa.add(i);
            }
        } {
            if (a % i == 0) {
                aa.add(i);
            }
        } if (a % i == 0) {
                aa.add(i);
            } a % i == 0 a % i a i 0 {
                aa.add(i);
            } aa.add(i) aa.add aa i for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        } int c = 1; int c = 1; c 1 c <= b c b c++ c++ c {
            if (b % c == 0) {
                bb.add(c);
            }
        } {
            if (b % c == 0) {
                bb.add(c);
            }
        } if (b % c == 0) {
                bb.add(c);
            } b % c == 0 b % c b c 0 {
                bb.add(c);
            } bb.add(c) bb.add bb c if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        } aa.size() >= bb.size() aa.size() aa.size aa bb.size() bb.size bb {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            } int e = 0; int e = 0; e 0 e < bb.size() e bb.size() bb.size bb e++ e++ e {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            } {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            } int check1 = bb.get(e); check1 bb.get(e) bb.get bb e if (aa.contains(check1)) {
                    kk.add(check1);
                } aa.contains(check1) aa.contains aa check1 {
                    kk.add(check1);
                } kk.add(check1) kk.add kk check1 {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        } for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            } int f = 0; int f = 0; f 0 f < aa.size() f aa.size() aa.size aa f++ f++ f {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            } {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            } int check2 = aa.get(f); check2 aa.get(f) aa.get aa f if (bb.contains(check2)) {
                    kk.add(check2);
                } bb.contains(check2) bb.contains bb check2 {
                    kk.add(check2);
                } kk.add(check2) kk.add kk check2 System.out.println(kk.get(kk.size() - 1 - (k - 1))) System.out.println System.out System System.out kk.get(kk.size() - 1 - (k - 1)) kk.get kk kk.size() - 1 - (k - 1) kk.size() - 1 - (k - 1) kk.size() kk.size kk 1 (k - 1) k 1 String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    }
} Main
import java.util.*;


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        ArrayList<Integer> aa = new ArrayList<Integer>();
        ArrayList<Integer> bb = new ArrayList<Integer>();
        ArrayList<Integer> kk = new ArrayList<Integer>();

        for (int i = 1; i <= a; i++) {
            if (a % i == 0) {
                aa.add(i);
            }
        }

        for (int c = 1; c <= b; c++) {
            if (b % c == 0) {
                bb.add(c);
            }
        }
        if (aa.size() >= bb.size()) {
            for (int e = 0; e < bb.size(); e++) {
                int check1 = bb.get(e);
                if (aa.contains(check1)) {
                    kk.add(check1);
                }
            }
            
        } else {
            for (int f = 0; f < aa.size(); f++) {
                int check2 = aa.get(f);
                if (bb.contains(check2)) {
                    kk.add(check2);
                }
            }
        }
        System.out.println(kk.get(kk.size() - 1 - (k - 1)));
    }
}