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>
namespace cltstream {
char cltin[1048576 + 1], *ih = cltin, *it = cltin;
inline char gc() {
  if (ih == it) {
    it = (ih = cltin) + fread(cltin, 1, 1048576, stdin);
    if (ih == it) return EOF;
  }
  return *ih++;
}
char cltout[1048576 + 1], *oh = cltout, *ot = cltout + 1048576;
inline void pc(char c) {
  if (oh == ot) {
    fwrite(cltout, 1, 1048576, stdout);
    oh = cltout;
  }
  *oh++ = c;
}
template <typename _tp>
inline void read(_tp& x) {
  int sn = 1;
  char c = gc();
  for (; c != 45 && (c < 48 || c > 57) && c != EOF; c = gc())
    ;
  if (c == 45 && c != EOF) sn = -1, c = gc();
  for (x = 0; c >= 48 && c <= 57 && c != EOF;
       x = (x << 3) + (x << 1) + (c ^ 48), c = gc())
    ;
  x *= sn;
}
template <typename _tp>
inline void write(_tp x, char text = -1) {
  if (x < 0) pc(45), x = -x;
  if (!x)
    pc(48);
  else {
    int digit[22];
    for (digit[0] = 0; x; digit[++digit[0]] = x % 10, x /= 10)
      ;
    for (; digit[0]; pc(digit[digit[0]--] ^ 48))
      ;
  }
  if (text >= 0) pc(text);
}
}  // namespace cltstream
int n;
long long ans;
int main() {
  cltstream::read(n);
  for (register int l = 2, r; l <= n; r = n / (n / l),
                    ans += 2LL * (r - l + 1) * (n / l) * (n / l + 1) -
                                      4 * (r - l + 1),
                    l = r + 1)
    ;
  cltstream::write(ans);
  fwrite(cltstream::cltout, 1, cltstream::oh - cltstream::cltout, stdout);
  return 0;
}
