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

#include <cstdio>
#include <cmath>

using namespace std;
const long Pof2 [32] = {2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728};
long N = 0;
long ret = 0;
long magic_num;

void calc ()
{
    long i = 0;

    while (0 == (N % Pof2 [i])) i++;
    if (Pof2 [i] < magic_num) ret = 1;    
   
    for (i = 3; i < magic_num; i += 2) 
        if ((N % i) == 0)
            ret++;
}
        
int main ()
{ 
    scanf ("%ld\n", &N);
    magic_num = (long) (ceil(sqrt (2*N)));
    calc();
    printf ("%ld\n", ret);
    return 0;
}
