#include using namespace std; using ll = long long; #define fi first #define se second bool b1(ll n,ll k){ ll ok=-1,ng=sqrt(n)+10; while(ng-ok>1){ ll check=(ok+ng)/2; if(check<=n/(check+k)){ ok=check; } else{ ng=check; } } if(ok*(ok+k)==n){ return true; } else{ return false; } } int main(){ ll n,k,m; cin>>n>>k>>m; if(m>23){ cout<<0< more2; ll start,flag; for(ll i=2;i<=20;i++){ start=1; flag=0; while(flag==0){ ll x=start; for(ll j=1;j<=i;j++){ if(n/x1){ cout<<0<1){ ll check=(ok+ng)/2; if(check<=n/(check+k)){ ok=check; } else{ ng=check; } } cout<> s(25); int now=0; while(now1){ ll check=(ok+ng)/2; if(check<=n/(check+k)){ ok=check; } else{ ng=check; } } ll ans=s[1].size()+ok; if(s[1].size()>0){ for(ll x:s[1]){ if(b1(x,k)==true){ ans--; } } } ll w=0; for(int i=0;i<25;i++){ if(s[i].size()>0){ for(ll x:s[i]){ if(b1(x,k)==true){ w++; } } } } cout<0){ for(ll x:s[m]){ if(b1(x,k)==false){ ans++; } } } if(s[m-1].size()>0){ for(ll x:s[m-1]){ if(b1(x,k)==false){ ans++; } } } cout<