import sys

input = sys.stdin.readline

from collections import Counter

import numpy as np

from numba import njit





def read():

    N = int(input().strip())

    return N,





@njit

def f(n):

    """

    約数の個数を求める

    """

    ndivs = np.ones((n+1), dtype=np.int32)

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

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

            ndivs[j] += 1

    return ndivs





@njit

def solve(N):

    fn = f(N)

    ans = 0

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

        ans += k * fn[k]

    return ans





if __name__ == '__main__':

    inputs = read()

    outputs = solve(*inputs)

    if outputs is not None:

        print(("%s" % str(outputs)))

import sys

input = sys.stdin.readline

import numpy as np

from numba import njit





def read():

    N = int(input().strip())

    return N,





@njit

def solve(N):

    ndivs = 0

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

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

            ndivs += j

    return ndivs





if __name__ == '__main__':

    inputs = read()

    outputs = solve(*inputs)

    if outputs is not None:

        print(("%s" % str(outputs)))

import sys

input = sys.stdin.readline
from collections import Counter
import numpy as np
from numba import njit


def read():
    N = int(input().strip())
    return (N,)


@njit
def f(n):
    """
    約数の個数を求める
    """
    ndivs = np.ones((n + 1), dtype=np.int32)
    for i in range(2, n + 1):
        for j in range(i, n + 1, i):
            ndivs[j] += 1
    return ndivs


@njit
def solve(N):
    fn = f(N)
    ans = 0
    for k in range(1, N + 1):
        ans += k * fn[k]
    return ans


if __name__ == "__main__":
    inputs = read()
    outputs = solve(*inputs)
    if outputs is not None:
        print(("%s" % str(outputs)))

import sys

input = sys.stdin.readline
import numpy as np
from numba import njit


def read():
    N = int(input().strip())
    return (N,)


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


if __name__ == "__main__":
    inputs = read()
    outputs = solve(*inputs)
    if outputs is not None:
        print(("%s" % str(outputs)))

-from collections import Counter -def f(n): -    """ -    約数の個数を求める -    """ -    ndivs = np.ones((n + 1), dtype=np.int32) -    for i in range(2, n + 1): -        for j in range(i, n + 1, i): -            ndivs[j] += 1 +def solve(N): +    ndivs = 0 +    for i in range(1, N + 1): +        for j in range(i, N + 1, i): +            ndivs += j - - -@njit -def solve(N): -    fn = f(N) -    ans = 0 -    for k in range(1, N + 1): -        ans += k * fn[k] -    return ans