#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; void integerFactorization(long long n, vector >& factor) { factor.clear(); long long a = 2; while(a * a <= n){ int b = 0; while(n % a == 0){ ++ b; n /= a; } if(b > 0) factor.push_back(make_pair(a, b)); ++ a; } if(n > 1) factor.push_back(make_pair(n, 1)); } int solve(const vector >& factor, int i, long long x, long long m) { if(i == factor.size()) return 0; int ans = solve(factor, i+1, x, m); for(long long j=0; j m) break; ++ ans; ans += solve(factor, i+1, x, m); } return ans; } int main() { long long n, k, m; cin >> n >> k >> m; vector > factor; integerFactorization(n, factor); for(auto& p : factor) p.second *= k; int ans = solve(factor, 0, 1, m) + 1; cout << ans << endl; return 0; }