You are playing the following simple game with a friend:
The first player picks a positive integer $X$.
The second player gives a list of $k$ distinct positive integers $Y_1, \ldots , Y_ k$ such that $(Y_1+1)(Y_2+1) \cdots (Y_ k+1) = X$, and gets $k$ points.
Write a program that plays the second player.
The input consists of a single integer $X$ satisfying $10^3 \le X \le 10^{15}$, giving the number picked by the first player.
Write a single integer $k$, giving the number of points obtained by the second player, assuming she plays as good as possible.
Sample Input 1 | Sample Output 1 |
---|---|
1099511627776 |
8 |
Sample Input 2 | Sample Output 2 |
---|---|
127381 |
3 |