#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; int main() { ll n, k, M; cin>>n>>k>>M; using lll=__int128_t; map mp; for(int i=2; i<=19; i++){ int myon=0; for(lll a=1; ; a++){ lll p=1; for(lll j=0; j<=i; j++){ p*=(a+j*k); if(p>n){ p=n+1; break; } } if(p==n+1){ myon=a; break; } mp[p]^=(1<1){ lll m=(l+r)/2; if(m*(m+k)>=x) r=m; else l=m; } if((lll)r*(r+k)==x){ p.second^=2; c++; } } if(M>=2){ int ans=0; for(auto p:mp){ if(popcount(p.second)==M) ans++; } cout<1){ lll m=(l+r)/2; if(m*(m+k)<=n) l=m; else r=m; } ll ans=l-c; for(auto p:mp){ if(popcount(p.second)==1) ans++; } cout<