A Different List Game

You are playing the following simple game with a friend:

  1. The first player picks a positive integer $X$.

  2. 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.

Input

The input consists of a single integer $X$ satisfying $10^3 \le X \le 10^{15}$, giving the number picked by the first player.

Output

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