RT,上代码。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1000086;
int n,tot=0,ans=1;
int q[N];
inline int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-f;c=getchar();}
while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+(c^48);c=getchar();}
return x*f;
}
inline void yueshu(){
for(int i=2;i*i<=n;i++)
if(n%i==0){
tot++;
while(n%i==0){
q[tot]++;
n/=i;
}
}
if(n!=1)q[++tot]=1;
for(int i=1;i<=tot;i++)q[i]*=2;
}
signed main(){
n=read();
yueshu();
for(int i=1;i<=n;i++)ans*=q[i]+1;
printf("%lld",ans+1>>1);
return 0;
}