#include #define FOR(a,b) for(int a=0;a>d; ll ar[3]; FOR(ctr1,3) cin>>ar[ctr1]; ll rez1=-1,rez2=-1; if(ar[1]>1) { ll l=0LL,r=0LL; ll d1=ar[0LL]-ar[1]+1; if(d1>0LL) { l+=ceil((double)d1/d); } ll d2=ar[2]-ar[1]+1; if(d2>0LL) { r+=ceil((double)d2/d); } if(max(ar[0LL]-l*d,0LL)==max(ar[2]-r*d,0LL)) { if(max(ar[0LL]-(l+1)*d,0LL)!=max(ar[2]-r*d,0LL)) l++; else { l=-1; } } if(l!=-1) rez1=l+r; } if(ar[0LL]>0LL && ar[2]>0LL) { ll l=0LL,m=0LL; ll dm=max(ar[1]-min(ar[0LL]-1,ar[2]-1),0LL); m=ceil((double)dm/d); if(ar[0LL]==ar[2]){ l++; if(max(ar[0LL]-l*d,0LL)==max(ar[1]-m*d,0LL)){ m++; if (max(ar[0LL]-l*d,0LL)==max(ar[1]-m*d,0LL)){ l=-1; } } } if(l!=-1) rez2=l+m; } if(rez1==-1) cout<