#include using namespace std; typedef long long ll; ll fpow(int _a,int b) { ll ans=1; ll a=_a; while (b) { if (b&1) ans*=a; a*=a; b/=2; } return ans; } int dfs(int n,vector> pf,int pro,int m) { if (n==pf.size()) return 1; int ans=0; for (int i=0;i<=pf[n].second;i++) { ll pro2=fpow(pf[n].first,i)*pro; if (pro2>m) break; ans+=dfs(n+1,pf,pro2,m); } return ans; } int main() { int n,k,m; cin>>n>>k>>m; map pf; int t=n; for (int i=2;i*i<=t;i++) while (t%i==0) { pf[i]++; t/=i; } if (t>1) pf[t]++; vector> pf2; for (auto p:pf) pf2.push_back({p.first,k*p.second}); cout<