import java.util.Scanner;

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

    void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        }
    }

    void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    }
} Main public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        }
    } main {
        try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        }
    } try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        } {
            new Main().solve(sc);
        } Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) new Main().solve(sc) new Main().solve new Main() sc String[] args args void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    } solve {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    } 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 int count = 0; count 0 for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        } int i = Math.min(a, b); int i = Math.min(a, b); i Math.min(a, b) Math.min Math a b i >= 0 i 0 i-- i-- i {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        } {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        } if (a % i == 0 && b % i == 0) {
                count++;
            } a % i == 0 && b % i == 0 a % i == 0 a % i a i 0 b % i == 0 b % i b i 0 {
                count++;
            } count++ count if (count == k) {
                System.out.println(i);
                return;
            } count == k count k {
                System.out.println(i);
                return;
            } System.out.println(i) System.out.println System.out System System.out i return; Scanner sc sc public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        }
    }

    void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    }
} public class Main {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            new Main().solve(sc);
        }
    }

    void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    }
} Main
import java.util.Scanner;

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

    void solve(Scanner sc) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        int k = sc.nextInt();
        int count = 0;
        for (int i = Math.min(a, b); i >= 0; i--) {
            if (a % i == 0 && b % i == 0) {
                count++;
            }

            if (count == k) {
                System.out.println(i);
                return;
            }
        }
    }
}
