/*
TASK:sum
LANG:C++
*/

#include <iostream>
using namespace std;

void Read();
void Solve();

int N,R;

int main()
{
    Read();
    Solve();
    
    return 0;
}

void Read()
{
     cin>>N;
}

void Solve()
{
     int csum,max=(N+1)/2,j;
     R=0;
     int lsum=0,llen=0;
     
     csum=1;
     j=2;
     while(csum<N) csum+=j++;
     if(csum==N) R++;
     lsum=csum-1;
     llen=j-1;
     
     for(int i=2;i<max;i++)
     {
             if(lsum<N)
             {
                 csum=lsum;
                 j=i+llen;
             }
             else
             {
                 csum=i;
                 j=i+1;
             }
             while(csum<N) csum+=j++;
             if(csum==N) R++;
             lsum=csum-i;
             llen=j-i;
     }
     
     cout<<R<<endl;
}
