#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char old[1500000]; main(){ long n; scanf("%ld",&n); n>>=~n&1; long s=sqrt(n); long z=1; while((n&1)==0){ z=z*2+1; n>>=1; } for(long i=3;i<=s;i+=2){ if(!old[i]){ if(n%i==0){ long y=1; do{ y=y*i+1; n/=i; }while(n%i==0); z*=y; } for(long j=i*i;j<=s;j+=i*2){ old[j]=1; } } } if(n>1){ z*=n+1; } printf("%ld",z); }