import sys



#import numba as nb



input = sys.stdin.readline





#@nb.njit("i8(i8)")

def solve(n):

    ans = 0

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

        m = n // i

        ans += i * m * (m + 1) // 2

    return ans





def main():

    N = int(eval(input()))



    ans = solve(N)



    print(ans)





if __name__ == "__main__":

    main()

import sys



import numba as nb



input = sys.stdin.readline





@nb.njit("i8(i8)")

def g(n):

    return n * (n + 1) // 2





@nb.njit("i8(i8)")

def solve(n):

    ans = 0

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

        ans += i * g(n // i)

    return ans





def main():

    N = int(eval(input()))



    ans = solve(N)



    print(ans)





if __name__ == "__main__":

    main()

import sys

# import numba as nb
input = sys.stdin.readline
# @nb.njit("i8(i8)")
def solve(n):
    ans = 0
    for i in range(1, n + 1):
        m = n // i
        ans += i * m * (m + 1) // 2
    return ans


def main():
    N = int(eval(input()))
    ans = solve(N)
    print(ans)


if __name__ == "__main__":
    main()

import sys
import numba as nb

input = sys.stdin.readline


@nb.njit("i8(i8)")
def g(n):
    return n * (n + 1) // 2


@nb.njit("i8(i8)")
def solve(n):
    ans = 0
    for i in range(1, n + 1):
        ans += i * g(n // i)
    return ans


def main():
    N = int(eval(input()))
    ans = solve(N)
    print(ans)


if __name__ == "__main__":
    main()

+import numba as nb -# import numba as nb -# @nb.njit("i8(i8)") + + +@nb.njit("i8(i8)") +def g(n): +    return n * (n + 1) // 2 + + +@nb.njit("i8(i8)") -        m = n // i -        ans += i * m * (m + 1) // 2 +        ans += i * g(n // i)