using System; using System.Linq; using System.Collections.Generic; using System.IO; class MyClass { public static void Solve() { var N = long.Parse(Console.ReadLine()); var exp = new Dictionary(); long sum = 1; if (N % 2 == 0) { exp.Add(2, 0); while (N % 2 == 0) { N /= 2; exp[2]++; } } for (long p = 3; p * p <= N; p += 2) { if (N % p == 0) { exp.Add(p, 0); while (N % p == 0) { N /= p; exp[p]++; } } } if (N != 1) { exp.Add(N, 1); } foreach (var p in exp.Keys) { sum *= ((long)Math.Pow(p, exp[p] + 1) - 1) / (p - 1); } Console.WriteLine(sum); } public static void Main() { var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false }; Console.SetOut(sw); Solve(); Console.Out.Flush(); } }