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.
#include <bits/stdc++.h>
using namespace std;
const long long int inf = 0x3f3f3f3f;
const long long int mod = 1e9 + 7;
inline long long int add(long long int x, long long int y) {
  x += y;
  if (x >= mod) x -= mod;
  return x;
}
inline long long int sub(long long int x, long long int y) {
  x -= y;
  if (x < 0) x += mod;
  return x;
}
inline long long int mul(long long int x, long long int y) {
  return ((x % mod) * (y % mod)) % mod;
}
inline long long int power(long long int a, long long int b) {
  long long int x = 1;
  while (b) {
    if (b & 1) x = mul(x, a);
    a = mul(a, a);
    b >>= 1;
  }
  return x;
}
inline long long int inv(long long int a) { return power(a, mod - 2); }
const long long int N = 1e5 + 5;
long long int ans[N], p[N];
void sieve() {
  memset(p, 1, sizeof p);
  p[1] = p[0] = 0;
  for (long long int i = 2; i * i < N; i++) {
    if (p[i]) {
      for (long long int j = 2 * i; j < N; j += i) p[j] = 0;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  sieve();
  long long int n;
  cin >> n;
  for (long long int i = 2; i <= n; i++) {
    if (p[i]) continue;
    for (long long int j = 2; j <= sqrt(i); j++) {
      if (i % j == 0) {
        if (j * j == i) {
          ans[i] += 4 * (i / j);
        } else {
          ans[i] += 4 * (i / j);
          long long int temp = i / j;
          ans[i] += 4 * (i / temp);
        }
      }
    }
  }
  long long int answer = 0;
  for (long long int i = 2; i <= n; i++) answer += ans[i];
  cout << answer;
  return 0;
}
