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;
void solve();
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  solve();
}
const long long maxn = (long long)1e5 + 7;
vector<long long> g[maxn];
bool used[maxn];
long long s = 0;
void dfs(long long v) {
  used[v] = true;
  for (auto u : g[v]) {
    if (!used[u]) {
      dfs(u);
    }
    s += v / u;
  }
}
void solve() {
  long long n;
  cin >> n;
  for (long long i = 2; i <= n; ++i) {
    for (long long j = i + i; j <= n; j += i) {
      g[i].push_back(j);
      g[j].push_back(i);
    }
  }
  long long ans = 0;
  for (long long i = 0; i < n; ++i) {
    if (!used[i]) {
      s = 0;
      dfs(i);
      ans = max(ans, s);
    }
  }
  cout << ans * 4 << '\n';
}
