// 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 = 9;
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;
lowestVal = max(lowestVal, i + 1); // FIX: Value must be greater than sqrtN or i
if (lowestVal <= highestVal) // FIX: Removes duplicate addition in square number
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+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwojZGVmaW5lIGludCBsb25nIGxvbmcKCmxsIHN1bShsbCBsLCBsbCByKQp7CiAgICByZXR1cm4gciAqIChyICsgMSkgLyAyIC0gbCAqIChsICsgMSkgLyAyICsgbDsKfQpsbCBjb25zdCBOID0gOTsKdm9pZCBTb2x2ZSgpCnsKICAgIGxsIGRpdlN1bSA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSAqIGkgPD0gTjsgaSsrKSB7CiAgICAgICAgLy8gdmFsdWUgPD0gc3FydChOKQogICAgICAgIGxsIG11bHRpcGxpZXIgPSBOIC8gaTsKICAgICAgICBkaXZTdW0gKz0gaSAqIG11bHRpcGxpZXI7CiAgICAgICAgLy8gdmFsdWUgPiBzcXJ0KE4pCiAgICAgICAgbGwgTmJ5QSA9IGk7IC8vIGNvdW50CiAgICAgICAgCiAgICAgICAgbGwgaGlnaGVzdFZhbCA9IE4gLyBpOwogICAgICAgIGxsIGxvd2VzdFZhbCA9IE4gLyAoaSArIDEpICsgMTsKICAgICAgICAKICAgICAgICBsb3dlc3RWYWwgPSBtYXgobG93ZXN0VmFsLCBpICsgMSk7IC8vIEZJWDogVmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3FydE4gb3IgaQogICAgICAgIGlmIChsb3dlc3RWYWwgPD0gaGlnaGVzdFZhbCkgLy8gRklYOiBSZW1vdmVzIGR1cGxpY2F0ZSBhZGRpdGlvbiBpbiBzcXVhcmUgbnVtYmVyCiAgICAgICAgCWRpdlN1bSArPSBOYnlBICogc3VtKGxvd2VzdFZhbCwgaGlnaGVzdFZhbCk7IC8vIGNvdW50ICogc3VtIG9mIHZhbHVlcyBpbiByYW5nZQogICAgfQogICAgY291dCA8PCBkaXZTdW0gPDwgJ1xuJzsKfQoKaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKSwgY291dC50aWUoMCk7CiAgICBpbnQgdCA9IDE7CiAgICAvLyBjaW4gPj4gdDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHQ7IGkrKykgewogICAgICAgIFNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQovLyBDb2RlZCBieSBUYWhzaW4gQXJhZmF0IChAVGFoc2luQXJhZmF0KQo=