import numpy as np



def solve(stdin):

    n = stdin[0]

    dp = np.zeros(n+1,dtype=np.int64)

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

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

            dp[j]+=1

    dp*=np.arange(n+1)

    return dp.sum()



def main():

    stdin = np.fromstring(open(0).read(), dtype=np.int64, sep=' ')

    print((solve(stdin)))



def cc_export():

    from numba.pycc import CC

    cc = CC('my_module')

    cc.export('solve', '(i8[:],)')(solve)

    cc.compile()



if __name__ == '__main__':

    import sys

    if sys.argv[-1] == 'ONLINE_JUDGE':

        cc_export()

        exit(0)

    from my_module import solve

    main()
import sys

import numpy as np



read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines



def main(N):

    div = np.zeros(N+1, np.int64)

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

      for m in range(n, N+1, n):

        div[m] += m

    return div.sum()



if sys.argv[-1] == 'ONLINE_JUDGE':

    import numba

    from numba.pycc import CC

    i8 = numba.int64

    cc = CC('my_module')



    def cc_export(f, signature):

        cc.export(f.__name__, signature)(f)

        return numba.njit(f)



    main = cc_export(main, (i8, ))

    cc.compile()



from my_module import main



N = int(read())

print((main(N)))

import numpy as np


def solve(stdin):
    n = stdin[0]
    dp = np.zeros(n + 1, dtype=np.int64)
    for i in range(1, n + 1):
        for j in range(i, n + 1, i):
            dp[j] += 1
    dp *= np.arange(n + 1)
    return dp.sum()


def main():
    stdin = np.fromstring(open(0).read(), dtype=np.int64, sep=" ")
    print((solve(stdin)))


def cc_export():
    from numba.pycc import CC

    cc = CC("my_module")
    cc.export("solve", "(i8[:],)")(solve)
    cc.compile()


if __name__ == "__main__":
    import sys

    if sys.argv[-1] == "ONLINE_JUDGE":
        cc_export()
        exit(0)
    from my_module import solve

    main()

import sys
import numpy as np

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines


def main(N):
    div = np.zeros(N + 1, np.int64)
    for n in range(1, N + 1):
        for m in range(n, N + 1, n):
            div[m] += m
    return div.sum()


if sys.argv[-1] == "ONLINE_JUDGE":
    import numba
    from numba.pycc import CC

    i8 = numba.int64
    cc = CC("my_module")

    def cc_export(f, signature):
        cc.export(f.__name__, signature)(f)
        return numba.njit(f)

    main = cc_export(main, (i8,))
    cc.compile()
from my_module import main

N = int(read())
print((main(N)))

+import sys - -def solve(stdin): -    n = stdin[0] -    dp = np.zeros(n + 1, dtype=np.int64) -    for i in range(1, n + 1): -        for j in range(i, n + 1, i): -            dp[j] += 1 -    dp *= np.arange(n + 1) -    return dp.sum() +read = sys.stdin.buffer.read +readline = sys.stdin.buffer.readline +readlines = sys.stdin.buffer.readlines -def main(): -    stdin = np.fromstring(open(0).read(), dtype=np.int64, sep=" ") -    print((solve(stdin))) +def main(N): +    div = np.zeros(N + 1, np.int64) +    for n in range(1, N + 1): +        for m in range(n, N + 1, n): +            div[m] += m +    return div.sum() -def cc_export(): +if sys.argv[-1] == "ONLINE_JUDGE": +    import numba +    i8 = numba.int64 -    cc.export("solve", "(i8[:],)")(solve) + +    def cc_export(f, signature): +        cc.export(f.__name__, signature)(f) +        return numba.njit(f) + +    main = cc_export(main, (i8,)) +from my_module import main - -if __name__ == "__main__": -    import sys - -    if sys.argv[-1] == "ONLINE_JUDGE": -        cc_export() -        exit(0) -    from my_module import solve - -    main() +N = int(read()) +print((main(N)))