28237
 13190
 39914
 81367
 8554
 61106
 67448
 39004
 22308
 16054
 71468
 60501
 100
 300
 59632
 90783
 5611
 1000
 69475
 69753
 10
 5
 582
 8
 36961
 5071
 20
 53213
 92775
 28738
 100000
 92280
 37944
 9
 2627
 7
 3

1028306548 224346172 2054738392 8539207488 94344524 4816051228 5867563092 1962150044 641839188 332342852 6587875268 4721174212 12600 115440 4586497300 10630118936 40580456 1286328 6225539588 6275533596 92 8 434692 52 1762017168 33141852 440 3652070664 11101694484 1065137992 12898363344 10983871880 1856988304 64 8885348 28 0
#include <bits/stdc++.h>
using namespace std;
const int N = (int)1e5 + 100;
vector<long long> ans;
vector<int> v[N];
int d[N];
bool sss(int x, int y) {
  if (d[x] == d[y]) return x < y;
  return d[x] > d[y];
}
set<int, bool (*)(int, int)> s(sss);
int main() {
  int n, i, j;
  cin >> n;
  for (i = 2; i < n + 1; i++) {
    for (j = 2; j < n / i + 1; j++) {
      v[i].push_back(i * j);
      v[i * j].push_back(i);
    }
  }
  for (i = 2; i < n + 1; i++) {
    d[i] = 0;
    s.insert(i);
  }
  int c = -1, x;
  while (!s.empty()) {
    x = *s.begin();
    s.erase(s.begin());
    if (d[x] == 0)
      ans.push_back(0), c++;
    else
      ans[c] += d[x];
    for (i = 0; i < v[x].size(); i++) {
      if (d[v[x][i]] < max(v[x][i] / x, x / v[x][i]) && s.count(v[x][i])) {
        s.erase(v[x][i]);
        d[v[x][i]] = max(v[x][i] / x, x / v[x][i]);
        s.insert(v[x][i]);
      }
    }
  }
  long long ma = 0;
  for (auto j : ans) {
    ma = max(ma, j);
  }
  cout << ma * 4;
}
