Problem:
Score : 500 points

Problem Statement

Snuke received a positive integer N from Takahashi.
A positive integer m is called a favorite number when the following condition is satisfied:

The quotient and remainder of N divided by m are equal, that is, \lfloor \frac{N}{m} \rfloor = N \bmod m holds.

Find all favorite numbers and print the sum of those.

Constraints

All values in input are integers.

1 \leq N \leq 10^{12}

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer.

Sample Input 1

8

Sample Output 1

10

There are two favorite numbers: 3 and 7. Print the sum of these, 10.

Sample Input 2

1000000000000

Sample Output 2

2499686339916

Watch out for overflow.

Solution in PyPy3 (2.4.0) (judge verdict: Wrong Answer)

N = int(input())

def trial_division(n):
    a = []  
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2   
    if n != 1: a.append(n)
    #Only odd number is possible
    return a

ans = 0

D = {}

T = trial_division(N)

for i in T :
    if i not in D :
        D[i] = 1
    else :
        D[i] += 1

cnt = 0
length = 1
for i in D :
    length *= D[i]+1

for i in range(1,N+1) :
    if cnt >= length//2 :
        break
    if N % i == 0 :
        cnt += 1
        ans += N//i - 1

print(ans)