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[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-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();
      int[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-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[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-k+1]);
    } main {
      Scanner sc = new Scanner(System.in);
      int a = sc.nextInt();
      int b = sc.nextInt();
      int k = sc.nextInt();
      int[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-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[] surp = new int[Math.min(a,b)+1]; surp new int[Math.min(a,b)+1] Math.min(a,b)+1 Math.min(a,b) Math.min Math a b 1 for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      } int i = 1; int i = 1; i 1 i <= Math.min(a,b) i Math.min(a,b) Math.min Math a b i++ i++ i {
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      } {
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      } if(a%i == 0 && b%i == 0){
        surp[i] = i;
        } a%i == 0 && b%i == 0 a%i == 0 a%i a i 0 b%i == 0 b%i b i 0 {
        surp[i] = i;
        } surp[i] = i surp[i] surp i i Arrays.sort(surp) Arrays.sort Arrays surp System.out.println(surp[Math.min(a,b)-k+1]) System.out.println System.out System System.out surp[Math.min(a,b)-k+1] surp Math.min(a,b)-k+1 Math.min(a,b)-k Math.min(a,b) Math.min Math a b 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[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-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[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-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();
      int[] surp = new int[Math.min(a,b)+1];
      for(int i = 1;i <= Math.min(a,b);i++){
      	if(a%i == 0 && b%i == 0){
        surp[i] = i;
        }
      }
      Arrays.sort(surp);
      System.out.println(surp[Math.min(a,b)-k+1]);
    }
}