#include #include typedef __int64 ll; ll m; ll cal(ll s,ll x) { return (2*s+x-1)*x; } ll binary_search(ll x) { ll left,right,mid,tmp; left=1,right=m/2+1; while(left<=right) { mid=(left+right)>>1; tmp=cal(mid,x); if(tmp==2*m) return mid; else if(tmp<2*m) left=mid+1; else right=mid-1; } return -1; } int main() { ll i,tmp,num,cnt=1; while(scanf("%I64d",&m)!=EOF) { num=0; for(i=2;i*i<=2*m+10;i++) { tmp=binary_search(i); if(tmp!=-1) num++; } printf("%I64d\n",num+1); } return 0; }