import numpy as np

from numba import njit, int64



n = int(eval(input()))





@njit(int64(int64))

def f(n):

    cnt = np.zeros(n + 1, np.int16)

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

        cnt[i::i] += 1



    return (cnt * np.arange(n + 1)).sum()





ans = f(n)

print(ans)

from numba import njit



n = int(eval(input()))





@njit

def f(n):

    ret = 0

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

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

            ret += j



    return ret





ans = f(n)

print(ans)

import numpy as np
from numba import njit, int64

n = int(eval(input()))


@njit(int64(int64))
def f(n):
    cnt = np.zeros(n + 1, np.int16)
    for i in range(1, n + 1):
        cnt[i::i] += 1
    return (cnt * np.arange(n + 1)).sum()


ans = f(n)
print(ans)

from numba import njit

n = int(eval(input()))


@njit
def f(n):
    ret = 0
    for i in range(1, n + 1):
        for j in range(i, n + 1, i):
            ret += j
    return ret


ans = f(n)
print(ans)

-import numpy as np -from numba import njit, int64 +from numba import njit -@njit(int64(int64)) +@njit -    cnt = np.zeros(n + 1, np.int16) +    ret = 0 -        cnt[i::i] += 1 -    return (cnt * np.arange(n + 1)).sum() +        for j in range(i, n + 1, i): +            ret += j +    return ret