from numba import njit

import numpy as np





@njit("i8(i8)")

def solve(n):

    ans = 1

    res = np.ones(n + 1, dtype=np.int64)

    for i in range(2, n + 1):

        for j in range(i, n + 1, i):

            res[j] += 1

        ans += i * res[i]

    return ans





N = int(eval(input()))

print((solve(N)))

from numba import njit, i8





@njit(i8(i8))

def solve(N):

    ans = 0

    for i in range(1, N + 1):

        for j in range(i, N + 1, i):

            ans += j

    return ans





N = int(eval(input()))

print((solve(N)))

from numba import njit
import numpy as np


@njit("i8(i8)")
def solve(n):
    ans = 1
    res = np.ones(n + 1, dtype=np.int64)
    for i in range(2, n + 1):
        for j in range(i, n + 1, i):
            res[j] += 1
        ans += i * res[i]
    return ans


N = int(eval(input()))
print((solve(N)))

from numba import njit, i8


@njit(i8(i8))
def solve(N):
    ans = 0
    for i in range(1, N + 1):
        for j in range(i, N + 1, i):
            ans += j
    return ans


N = int(eval(input()))
print((solve(N)))

-from numba import njit -import numpy as np +from numba import njit, i8 -@njit("i8(i8)") -def solve(n): -    ans = 1 -    res = np.ones(n + 1, dtype=np.int64) -    for i in range(2, n + 1): -        for j in range(i, n + 1, i): -            res[j] += 1 -        ans += i * res[i] +@njit(i8(i8)) +def solve(N): +    ans = 0 +    for i in range(1, N + 1): +        for j in range(i, N + 1, i): +            ans += j