#include<bits/stdc++.h>
using namespace std;
// 数组a[i]记录i有多少种分解方式
int a[500000];
// 求解x有多少种分解方式
long long func(int x)
{
// 默认一种,即x = x
long long sum = 1;
// 若x在50万以内,且已统计完分解方式,则直接返回
if ((x<500000) && a[x] != 0){
return a[x];
}
// 对[2~sqrt(x)]内的因子进行统计
// 注意此处循环条件的等号
for (int i = 2; i <= sqrt(x); i++){
// 若i为x的因子
if (x%i == 0){
// 加上以i为因式的分解方式
sum += func(i);
// 并且加上互补因式的分解方式
if (i*i != x){
sum += func(x/i);
}
}
}
// 若x<50万,更新x的分解方式
if (x < 500000){
a[x] = sum;
}
// 返回x的分解方式
return sum;
}
int main()
{
int n;
scanf("%d", &n);
printf("%lld\n", func(n));
return 0;
}