import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(k - 1));

	}

} import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.Collections; Collections java.util import java.util.List; List java.util import java.util.Scanner; Scanner 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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(k - 1));

	} main {

		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int k = sc.nextInt();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(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 int max = a > b ? a : b; max a > b ? a : b a > b a b a b List<Integer> list = new ArrayList<Integer>(); list new ArrayList<Integer>() for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		} int i = 1; int i = 1; i 1 i <= max i max 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 Collections.sort(list) Collections.sort Collections list Collections.reverse(list) Collections.reverse Collections list System.out.println(list.get(k - 1)) System.out.println System.out System System.out list.get(k - 1) list.get list 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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(k - 1));

	}

} Main
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

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();

		int max = a > b ? a : b;
		List<Integer> list = new ArrayList<Integer>();

		for (int i = 1; i <= max; i++) {

			if (a % i == 0 && b % i == 0) {
				list.add(i);
			}

		}

		Collections.sort(list);
		Collections.reverse(list);

		System.out.println(list.get(k - 1));

	}

}
