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;
int spf[100005 + 5];
void pre() {
  int i, j, k;
  memset(spf, 0, sizeof(spf));
  spf[1] = 2;
  for (i = 2; i <= 100005; i++) {
    if (spf[i] == 0) {
      for (j = i; j <= 100005; j = j + i) {
        if (spf[j] == 0) {
          spf[j] = i;
        }
      }
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  pre();
  int t;
  int i, j, k;
  int n;
  cin >> n;
  queue<int> q;
  map<int, int> vis;
  q.push(n);
  long long int ans = 0;
  while (!q.empty()) {
    int tp = q.front();
    int ctp = tp, qu, val;
    q.pop();
    vis[tp] = 1;
    map<int, int> fac;
    while (tp % spf[tp] == 0) {
      val = spf[tp];
      fac[val] = 1;
      tp = tp / spf[tp];
    }
    for (auto it = fac.begin(); it != fac.end(); it++) {
      if (vis[it->first] == 0) {
        vis[it->first] = 1;
        q.push(it->first);
        ans += (it->first) * 4;
      }
      val = 1;
      for (j = 2; j <= n / (it->first); j++) {
        val = j * it->first;
        if (vis[val] == 0 && val <= n) {
          vis[val] = 1;
          ans += (val / j) * 4;
          q.push(val);
        }
      }
    }
  }
  cout << ans << "\n";
  return 0;
}
