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;
long long int prime[1000001], a[1000001];
vector<long long int> ar;
void sieve() {
  memset(prime, 1, sizeof(prime));
  prime[0] = prime[1] = 0;
  long long int i, j;
  for (i = 2; i <= sqrt(1000010); i++) {
    if (prime[i]) {
      for (j = i * 2; j < 1000010; j += i) {
        prime[j] = 0;
      }
    }
  }
  for (i = 0; i < 1000010; i++) {
    if (prime[i]) {
      ar.push_back(i);
    }
  }
}
int main() {
  sieve();
  long long int n, i, j, ans, temp;
  cin >> n;
  for (i = 2; i <= n; i++) {
    if (prime[i]) {
      a[i] = 0;
    } else {
      ans = 0;
      for (j = 2; j <= sqrt(i); j++) {
        if (i % j == 0) {
          ans += (i / j) * 4;
          temp = i / j;
          if (i != temp * temp) {
            ans += (i / temp) * 4;
          }
        }
      }
      a[i] = ans;
    }
  }
  ans = 0;
  for (i = 2; i <= n; i++) {
    ans += a[i];
  }
  cout << ans;
  return 0;
}
