#include <bits/stdc++.h>   using namespace std;   template <typename T>   std::ostream &operator<<(std::ostream &out, vector<T> &v) {     for (typename vector<T>::size_type i = 0; i < v.size(); ++i)       out << v[i] <<    ;     out <<   n ;     return out;   }   template <typename T>   std::ostream &operator<<(std::ostream &out, vector<vector<T> > &v) {     for (size_t i = 0; i < v.size(); ++i) {       for (size_t j = 0; j < v[i].size(); ++j) {         out << v[i][j] <<    ;       }       out <<   n ;     }     return out;   }   int main() {     std::ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long n, k;     cin >> n >> k;     vector<long long> divisors;     for (long long i = 1; i * i <= n; ++i) {       if (n % i == 0) {         divisors.push_back(i);         if (n / i != i) {           divisors.push_back(n / i);         }       }     }     if (k > divisors.size()) {       cout <<  -1 n ;       return 0;     }     sort(divisors.begin(), divisors.end());     cout << divisors[k - 1] <<   n ;     return 0;   }   