// inputに入力データ全体が入る
function Main(input) {
    input = input.split("\n");
    tmp = input[0].split(" ");
    const a = parseInt(tmp[0], 10);
    const b = parseInt(tmp[1], 10);
    const c = parseInt(tmp[2], 10);
    
 //   console.log(a,b,c);
    function divisor(num){
    var results = [];
   for(var i=1; i<=num; i++) {
        if( (num%i == 0) ) {
            results.push(i);
        }
    }
    return results;

    }
// テスト
p = divisor(a);
//console.log(p);
  q = divisor(b);
//console.log(q);
p1=p.length;q1=q.length;
//console.log(p1,q1);
var cnt =0;
nest:
  if (p1 >= q1){
 for(i = 0;i<q1;i++){
  for (l=i;l<p1;l++){ if(q[i]==p[l]){cnt =cnt +1;
                                  //   console.log(cnt,q[i],p[l],'*******');
                                     if (cnt ==c){console.log(q[i]);
                                                  break nest;}
                                       
                                            }
                              }
                    }
     }
   //console.log(cnt,q[i]); 
   
 else{ for(i = 0;i<p1;i++){                      //4
   for (l=i;l<q1;l++){                                          //3
                                 if(p[i]==q[l]){                           //2
                                      cnt =cnt +1;
                                     if (cnt ==c){              //1
                                     console.log(p[i]);
                                     break nest;}              //1
                                      
                                     }                         // 2                                       
                      }                                      //3
                      }                                 //4  
  // console.log(cnt,p[i]);

            }}

//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));