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 n, s[100001], phi[100001], p[100001], cnt;
bool vis[100001];
long long gcd(long long x, long long y) { return y ? gcd(y, x % y) : x; }
void pretype() {
  for (long long i = 2; i < 100001; i++)
    for (long long j = 2ll * i; j < 100001; j += i) s[j] += 4ll * i;
  phi[1] = 1;
  for (long long i = 2; i < 100001; i++) {
    if (!vis[i]) p[++cnt] = i, phi[i] = i - 1;
    for (long long j = 1; j <= cnt && i * p[j] < 100001; j++) {
      vis[i * p[j]] = true;
      if (i % p[j] == 0) {
        phi[i * p[j]] = p[j] * phi[i];
        break;
      } else
        phi[i * p[j]] = (p[j] - 1) * phi[i];
    }
  }
}
int main() {
  long long ans = 0, mx = 0;
  pretype();
  scanf("%I64d", &n);
  for (long long nn = 4; nn <= n; nn++) {
    ans = 0;
    for (long long i = 2; i < nn; i++)
      if (gcd(i, nn) > 1) ans += s[i];
    mx = max(mx, ans + s[nn]);
  }
  printf("%I64d\n", mx);
}
