#include using namespace std; #define ALL(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b PrimeFactor(ll n){ map ret; for(ll i=2;i*i<=n;i++){ while(n%i==0){ ret[i]++; n/=i; } } if(n!=1) ret[n]=1; return ret; } int t; ll ans,n,m,k; vector> v; void dfs(int idx,ll num){ if(idx==t and num<=m){ ans++; return ; } for(int i=0;i<=v[idx].second and num<=m;i++){ dfs(idx+1,num); num*=v[idx].first; } } signed main(){ cin.tie(0); ios::sync_with_stdio(0); cin>>n>>k>>m; // nに素因数は多くても10個とか auto mp=PrimeFactor(n); for(auto p:mp) v.push_back(make_pair(p.first,p.second*k)); t=(int)v.size(); dfs(0,1); cout<