#include using namespace std; signed main() { ios::sync_with_stdio(false); int N, K, M; cin >> N >> K >> M; set bag; { int n = N; vector> cf; for (int i = 2; i * i < n + 1; ++i) { if (n % i) continue; cf.emplace_back(0, i); for (; n % i == 0; n /= i) ++cf.back().first; } if (1 < n) cf.emplace_back(1, n); vector cs(cf.size()); function dfs = [&](int u, int x) { assert(!bag.count(u)); bag.insert(u); if (x == cf.size()) return; for (int i = x; i < cf.size(); ++i) { if (1LL * K * cf[i].first == cs[i]) continue; int64_t v = 1LL * cf[i].second * u; if (M < v) break; ++cs[i]; dfs(v, i); --cs[i]; } }; dfs(1, 0); cout << bag.size() << endl; } return 0; }