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();
    int i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  }
} 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();
    int i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  }
} 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 i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  } main {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    int K = sc.nextInt();
    int i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  } 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 i =Math.min(A,B) i Math.min(A,B) Math.min Math A B ans =0 ans 0 count =0; count 0 while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    } true {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    } 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 if(count == K) {
        ans = i;
        break;
      } count == K count K {
        ans = i;
        break;
      } ans = i ans i break; i-- i System.out.println(ans) System.out.println System.out System System.out ans 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 i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  }
} 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 i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  }
} 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();
    int i =Math.min(A,B),ans =0,count =0;
    while (true) {
      if(A % i == 0 && B % i == 0) count++;
      if(count == K) {
        ans = i;
        break;
      }
      i--;
    }
    System.out.println(ans);
  }
}