// Divisor Summotary Function
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int long long
ll sum(ll l, ll r)
{
return r * (r + 1) / 2 - l * (l + 1) / 2 + l;
}
ll const N = 100000000;
void Solve()
{
ll divSum = 0;
for (int i = 1; i * i <= N; i++) {
// value <= sqrt(N)
ll multiplier = N / i;
divSum += i * multiplier;
// value > sqrt(N)
ll NbyA = i; // count
ll highestVal = N / i;
ll lowestVal = N / (i + 1) + 1;
divSum += NbyA * sum(lowestVal, highestVal); // count * sum of values in range
}
cout << divSum << '\n';
}
int32_t main()
{
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++) {
Solve();
}
return 0;
}
// Coded by Tahsin Arafat (@TahsinArafat)
Ly8gRGl2aXNvciBTdW1tb3RhcnkgRnVuY3Rpb24KI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwojZGVmaW5lIGludCBsb25nIGxvbmcKCmxsIHN1bShsbCBsLCBsbCByKQp7CiAgICByZXR1cm4gciAqIChyICsgMSkgLyAyIC0gbCAqIChsICsgMSkgLyAyICsgbDsKfQpsbCBjb25zdCBOID0gMTAwMDAwMDAwOwp2b2lkIFNvbHZlKCkKewogICAgbGwgZGl2U3VtID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpICogaSA8PSBOOyBpKyspIHsKICAgICAgICAvLyB2YWx1ZSA8PSBzcXJ0KE4pCiAgICAgICAgbGwgbXVsdGlwbGllciA9IE4gLyBpOwogICAgICAgIGRpdlN1bSArPSBpICogbXVsdGlwbGllcjsKICAgICAgICAvLyB2YWx1ZSA+IHNxcnQoTikKICAgICAgICBsbCBOYnlBID0gaTsgLy8gY291bnQKICAgICAgICBsbCBoaWdoZXN0VmFsID0gTiAvIGk7CiAgICAgICAgbGwgbG93ZXN0VmFsID0gTiAvIChpICsgMSkgKyAxOwogICAgICAgIGRpdlN1bSArPSBOYnlBICogc3VtKGxvd2VzdFZhbCwgaGlnaGVzdFZhbCk7IC8vIGNvdW50ICogc3VtIG9mIHZhbHVlcyBpbiByYW5nZQogICAgfQogICAgY291dCA8PCBkaXZTdW0gPDwgJ1xuJzsKfQoKaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKSwgY291dC50aWUoMCk7CiAgICBpbnQgdCA9IDE7CiAgICAvLyBjaW4gPj4gdDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHQ7IGkrKykgewogICAgICAgIFNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQovLyBDb2RlZCBieSBUYWhzaW4gQXJhZmF0IChAVGFoc2luQXJhZmF0KQo=