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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  }
} 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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  }
} 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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  } main {
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int b = sc.nextInt();
    int k = sc.nextInt();
    int ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  } 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 ans = 0; ans 0 int n = 0; n 0 int K = 0; K 0 if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    } a > b a b {
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    } for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } int i = 1; int i = 1; i 1 i <= a i a i++ i++ i {
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } {
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        } a%i == 0 a%i a i 0 {
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        } n = a/i n a/i a i if(b%n == 0){
            K++;
            if(k == K) break;
          } b%n == 0 b%n b n 0 {
            K++;
            if(k == K) break;
          } K++ K if(k == K) break; k == K k K break; if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    } a < b a b {
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    } for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } int i = 1; int i = 1; i 1 i <= b i b i++ i++ i {
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } {
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        } b%i == 0 b%i b i 0 {
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        } n = b/i n b/i b i if(a%n == 0){
            K++;
            if(k == K) break;
          } a%n == 0 a%n a n 0 {
            K++;
            if(k == K) break;
          } K++ K if(k == K) break; k == K k K break; {
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    } for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } int i = 1; int i = 1; i 1 i <= a i a i++ i++ i {
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } {
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      } if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        } a%i == 0 a%i a i 0 {
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        } n = a/i n a/i a i if(b%n == 0){
            K++;
            if(k == K) break;
          } b%n == 0 b%n b n 0 {
            K++;
            if(k == K) break;
          } K++ K if(k == K) break; k == K k K break; System.out.println(n) System.out.println System.out System System.out n 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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  }
} 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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  }
} 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 ans = 0;
    int n = 0;
    int K = 0;
    if(a > b){
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else if(a < b){
      for(int i = 1;i <= b;i++){
        if(b%i == 0){
          n = b/i;
          if(a%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    else{
      for(int i = 1;i <= a;i++){
        if(a%i == 0){
          n = a/i;
          if(b%n == 0){
            K++;
            if(k == K) break;
          }
        }
      }
    }
    System.out.println(n);
  }
}
