# import numpy as np

# import math

# import copy

# from collections import deque

import sys

input = sys.stdin.readline

# sys.setrecursionlimit(10000)

from numba import njit





@njit

def sum_g(N):

    res = 0

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

        end = N // i

        res += end * (end + 1) * i // 2

    return res





def main():

    N = int(eval(input()))



    res = sum_g(N)



    print(res) 





main()

# import numpy as np

# import math

# import copy

# from collections import deque

import sys

input = sys.stdin.readline

# sys.setrecursionlimit(10000)

from numba import njit,i8





@njit(i8(i8))

def sum_g(N):

    res = 0

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

        end = N // i

        res += end * (end + 1) * i // 2

    return res





def main():

    N = int(eval(input()))



    res = sum_g(N)



    print(res)





main()

# import numpy as np
# import math
# import copy
# from collections import deque
import sys

input = sys.stdin.readline
# sys.setrecursionlimit(10000)
from numba import njit


@njit
def sum_g(N):
    res = 0
    for i in range(1, N + 1):
        end = N // i
        res += end * (end + 1) * i // 2
    return res


def main():
    N = int(eval(input()))
    res = sum_g(N)
    print(res)


main()

# import numpy as np
# import math
# import copy
# from collections import deque
import sys

input = sys.stdin.readline
# sys.setrecursionlimit(10000)
from numba import njit, i8


@njit(i8(i8))
def sum_g(N):
    res = 0
    for i in range(1, N + 1):
        end = N // i
        res += end * (end + 1) * i // 2
    return res


def main():
    N = int(eval(input()))
    res = sum_g(N)
    print(res)


main()

-from numba import njit +from numba import njit, i8 -@njit +@njit(i8(i8))