#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using ll=long long; typedef pair P; const ll MOD=1e9+7; ll calc(ll r){ ll sq=1; ll ans=0; for(ll i=1; i*i<=r; i++){ sq=i; ans+=i*(r/i-r/(i+1)); } for(ll i=1; i<=r/(sq+1); i++){ ans+=r/i; } ans%=MOD; return ans; } int main() { ll n; cin>>n; vector v; ll sq=1; for(ll i=1; i*i<=n; i++){ sq=i; if(n/i-n/(i+1)>0) v.push_back(i); } for(ll i=1; i<=n/(sq+1); i++) v.push_back(n/i); sort(v.begin(), v.end()); ll ans=0; for(auto x:v){ ll z=n/x-n/(x+1); ans+=(x-1)*(n+1-x)%MOD*z; ans+=MOD-(x-1)*(calc(n/x)-calc(n/(x+1))+MOD)%MOD; ans%=MOD; } cout<