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 M = 998244353;
long long int inf = 1e18;
long long getpow(long long base, long long pow) {
  long long res = 1;
  base = base % M;
  while (pow > 0) {
    if (pow % 2 != 0) res = res * base;
    res = res % M;
    base = base * base;
    base = base % M;
    pow /= 2;
  }
  return res;
}
void swp(long long int *x, long long int *y) {
  long long int t = *x;
  *x = *y;
  *y = t;
}
void swpc(char *c1, char *c2) {
  char c = *c1;
  *c1 = *c2;
  *c2 = c;
}
void init(vector<long long int> &v, long long int n) {
  for (long long int i = 0; i < n; i++) {
    cin >> v[i];
  }
}
void print(vector<long long int> &v) {
  for (long long int i = 0; i < v.size(); i++) cout << v[i] << " ";
  cout << "\n";
}
void printc(vector<char> &v) {
  for (long long i = 0; i < v.size(); i++) {
    cout << v[i];
  }
  cout << "\n";
}
void initg(vector<vector<long long int> > &v, long long int m) {
  long long int i, x, y;
  for (i = 0; i < m; i++) {
    cin >> x >> y;
    v[x].push_back(y);
    v[y].push_back(x);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long t1, n, x1, i, ans;
  t1 = 1;
  while (t1--) {
    cin >> n;
    if (n <= 3) {
      cout << 0 << "\n";
      continue;
    }
    vector<long long> cnt(n + 1, 0);
    for (i = 2; i <= n / 2; i++) {
      x1 = n / i;
      cnt[1]++;
      cnt[x1 + 1]--;
    }
    for (i = 2; i <= n / 2; i++) cnt[i] += cnt[i - 1];
    ans = 0;
    for (i = 2; i <= n / 2; i++) {
      ans = ans + (cnt[i] * 4 * i);
    }
    cout << ans << "\n";
  }
}
