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> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.get(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> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.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();

    ArrayList<Integer> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.get(k-1));
  } main {
    Scanner sc = new Scanner(System.in);
    // 入力を取得
    int a = sc.nextInt();
    int b = sc.nextInt();
    int k = sc.nextInt();

    ArrayList<Integer> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.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 ArrayList<Integer> divisor  = new ArrayList<Integer>(); divisor new ArrayList<Integer>() for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    } int i= a; int i= a; i a i>0 i 0 i-- i-- i {
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    } {
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    } if(a%i==0 && b%i==0){
        divisor.add(i);
      } a%i==0 && b%i==0 a%i==0 a%i a i 0 b%i==0 b%i b i 0 {
        divisor.add(i);
      } divisor.add(i) divisor.add divisor i System.out.println(divisor.get(k-1)) System.out.println System.out System System.out divisor.get(k-1) divisor.get divisor 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> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.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();

    ArrayList<Integer> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.get(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> divisor  = new ArrayList<Integer>();
    for(int i= a;i>0;i--){
      if(a%i==0 && b%i==0){
        divisor.add(i);
      }
    }

    // 出力
    System.out.println(divisor.get(k-1));
  }
}
