private fun readLn() = readLine()!! // string line
private fun readInt() = readLn().toInt() // single int
private fun readLong() = readLn().toLong()
private fun readStrings() = readLn().split(" ") // list of strings
private fun readInts() = readStrings().map { it.toInt() } // list of ints
private fun readLongs() = readStrings().map { it.toLong() }

fun main() {
    val n = readInt()
    val f = LongArray(n + 1)
    val isPrime = BooleanArray(n + 1) { true }
    val onePrimeFactor = IntArray(n + 1) { -1 }
    f[1] = 1
    val primes = mutableListOf<Int>()
    var ans = 1L
    for (i in 2..n) {
//        debug(i)
        if (isPrime[i]) {
            primes += i
            onePrimeFactor[i] = i
            for (j in i + i..n step i) {
                isPrime[j] = false
                onePrimeFactor[j] = i
            }
            ans += 2 * i
        } else {
            val primeFactors = mutableMapOf<Int, Int>()
            var j = i
            while (j > 1) {
                val k = onePrimeFactor[j]
                primeFactors.compute(k) { _, vv -> vv?.plus(1) ?: 1 }
                j /= k
            }
            var ans1 = 1L
            for (primeFactor in primeFactors) {
//                debug(i.toString() + " " + primeFactor.key + " " + primeFactor.value)
                ans1 *= primeFactor.value + 1
            }
            ans += ans1 * i
        }
    }
    println(ans)
}

fun debug(any: Any) {
    System.err.println(any)
}
