fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. using ll = long long;
  5.  
  6. #define TASK "PENACONY"
  7. const ll MOD = 1000000007;
  8.  
  9. int main() {
  10. ios::sync_with_stdio(false);
  11. cin.tie(nullptr);
  12.  
  13. freopen(TASK ".INP", "r", stdin);
  14. freopen(TASK ".OUT", "w", stdout);
  15.  
  16. ll Q;
  17. cin >> Q;
  18. while (Q--) {
  19. ll n;
  20. cin >> n;
  21.  
  22. ll ans = (n + 1) % MOD;
  23.  
  24. for (ll l = 1; l <= n; ) {
  25. ll m = n / l;
  26. ll r = n / m;
  27.  
  28. ll cnt = (r - l + 1) % MOD;
  29. ll p1 = (m % MOD) * ((n + 1) % MOD) % MOD;
  30. ll sumd = ((l + r) % MOD) * cnt % MOD * ((MOD + 1) / 2) % MOD;
  31. ll p2 = sumd * (m % MOD) % MOD * ((m + 1) % MOD) % MOD * ((MOD + 1) / 2) % MOD;
  32.  
  33. ll add = (p1 * cnt % MOD - p2 + MOD) % MOD;
  34. ans = (ans + add) % MOD;
  35.  
  36. l = r + 1;
  37. }
  38.  
  39. cout << ans << '\n';
  40. }
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 2.23s 5316KB
stdin
Standard input is empty
stdout
Standard output is empty