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;
long long int mul(long long int x, long long int y) {
  long long int ans = 1;
  while (y > 0) {
    if (y & 1) ans = (ans * x) % 1000000007;
    y /= 2;
    x = (x * x) % 1000000007;
  }
  return ans;
};
long long int p[100005], a[100005], ans[100005];
long long int prnt(long long int x) {
  if (p[x] == x)
    return x;
  else
    return p[x] = prnt(p[x]);
};
int main() {
  long long int n, i, j, aa, bb;
  cin >> n;
  for (i = 2; i <= n; i++) p[i] = i;
  for (i = 2; i <= n; i++) {
    for (j = i * 2; j <= n; j += i) {
      a[i] += (j / i);
      aa = prnt(i);
      bb = prnt(j);
      p[bb] = aa;
    }
  }
  long long int fin = 0;
  for (i = 2; i <= n; i++) {
    aa = prnt(i);
    ans[aa] += a[i];
  }
  for (i = 2; i <= n; i++) fin = max(fin, ans[i]);
  cout << 4 * fin << "\n";
  return 0;
}
