#include <bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(false); cin.tie(nullptr);
#define ll long long
#define endl '\n'
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
const int oo = 1e9;
const ll INF = 1e18;
const ll MOD = 1e9+7;
void solve(){
ll n; cin >> n;
ll ans = 0;
ll l=1 , r=1;
while(l<n){
ll q = n/l;
r = min(n/q , n);
ll sum = (r-l+1)*(r+l)/2;
ans = ( ans % MOD + (sum % MOD * q % MOD) % MOD ) %MOD;
l = r + 1;
}
cout<<ans;
}
int main()
{
fast
int t = 1;
// cin >> t;
while (t--)
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3QgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKG51bGxwdHIpOwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIGFsbCh2KSAodikuYmVnaW4oKSwgKHYpLmVuZCgpCiNkZWZpbmUgcmFsbCh2KSAodikucmJlZ2luKCksICh2KS5yZW5kKCkKCmNvbnN0IGludCBvbyA9IDFlOTsKY29uc3QgbGwgSU5GID0gMWUxODsKY29uc3QgbGwgTU9EID0gMWU5Kzc7Cgp2b2lkIHNvbHZlKCl7CiAgICBsbCBuOyBjaW4gPj4gbjsKICAgIGxsIGFucyA9IDA7CiAgICBsbCBsPTEgLCByPTE7CiAgICB3aGlsZShsPG4pewogICAgICAgIGxsIHEgPSBuL2w7CiAgICAgICAgciA9IG1pbihuL3EgLCBuKTsKICAgICAgICBsbCBzdW0gPSAoci1sKzEpKihyK2wpLzI7CiAgICAgICAgYW5zID0gKCBhbnMgJSBNT0QgKyAoc3VtICUgTU9EICogcSAlIE1PRCkgJSBNT0QgKSAlTU9EOwogICAgICAgIGwgPSByICsgMTsKICAgIH0KICAgIGNvdXQ8PGFuczsKfQoKaW50IG1haW4oKQp7CiAgICBmYXN0CgogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CgogICAgd2hpbGUgKHQtLSkKICAgICAgICBzb2x2ZSgpOwoKICAgIHJldHVybiAwOwp9