You are given a positive integer n greater or equal to 2. For every pair of integers a and b (2 ≤ |a|, |b| ≤ n), you can transform a into b if and only if there exists an integer x such that 1 < |x| and (a ⋅ x = b or b ⋅ x = a), where |x| denotes the absolute value of x.

After such a transformation, your score increases by |x| points and you are not allowed to transform a into b nor b into a anymore.

Initially, you have a score of 0. You can start at any integer and transform it as many times as you like. What is the maximum score you can achieve?

Input

A single line contains a single integer n (2 ≤ n ≤ 100 000) — the given integer described above.

Output

Print an only integer — the maximum score that can be achieved with the transformations. If it is not possible to perform even a single transformation for all possible starting integers, print 0.

Examples

Input

4


Output

8

Input

6


Output

28

Input

2


Output

0

Note

In the first example, the transformations are 2 → 4 → (-2) → (-4) → 2.

In the third example, it is impossible to perform even a single transformation.
import java.util.*;
import java.io.*;
import java.lang.*;
import java.util.Arrays;

public class D {

    static int[] primes;
    static int[] spf;

    static long[] dp;


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        sieve(n);

        dp = new long[n + 1];

        for (int i = 2; i <= n; i++){
            if (primes[i] == 0) {
                dp[i] = i + 1;
            }
            else {
                int j = i;
                while (j % spf[i] == 0) {
                    j = j / spf[i];
                }
                if (j == 1) {
                    dp[i] = dp[i/spf[i]] * spf[i] + 1;
                } else {
                    dp[i] = dp[j] * dp[i/j];
                }
            }
        }

//        System.out.println(Arrays.toString(dp));

        long ans = 0;
        for (int i = n; i >= 2; i--) {
            if (primes[i] == 0) {
            } else {
                ans += 4 * (dp[i] - i - 1);
            }
        }

        System.out.println(ans);
    }

    static void sieve(int n) {
        primes = new int[n+1];
        spf = new int[n+1];
        int leastUnmarked = 2;
        while (leastUnmarked <= n) {
            for (int i = 2; i <= n / leastUnmarked; i++) {
                if (primes[i * leastUnmarked] == 0) {
                    primes[i * leastUnmarked] = -1; spf[i * leastUnmarked] = leastUnmarked;
                }
            }
            leastUnmarked++;
            while (leastUnmarked <= n && primes[leastUnmarked] == -1) leastUnmarked++;
        }
    }

}