#include <iostream>
#include <map>
using namespace std;
int main ()
{
	long long n, sumOfDivisors = 1;
	cin >> n;
	map<long long, long long> primeDivInPow;
	for(long long i = 2; i * i <= n; i++){
		while(n % i == 0){
			if(primeDivInPow.find(i) == primeDivInPow.end()){
				primeDivInPow[i] = 1;
			}
			primeDivInPow[i] *= i;
			n /= i;
		}
	}
	if(n != 1){
		primeDivInPow[n] = n;
	}
	for(map<long long, long long>::iterator p = primeDivInPow.begin(); p != primeDivInPow.end(); p++){
		sumOfDivisors *= (p -> second * p -> first - 1) / (p ->first - 1);
	}
	cout << sumOfDivisors;
	return 0;
}