#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
long long solve(long long n, long long m) {
  long long ans = 0;
  for (long long i = 1; i <= m; i++) {
    long long p = n / i;
    long long j = n / p;
    if (j > m) {
      j = m;
    }
    long long a = i + j;
    long long b = j - i + 1;
    if (a & 1) {
      a = (a % mod) * ((b >> 1) % mod);
    } else {
      a = ((a >> 1) % mod) * (b % mod);
    }
    long long x = (n % mod) * ((j - i + 1) % mod) - (p % mod) * (a % mod);
    ans = (ans + x) % mod;
    if (ans < 0) ans += mod;
    i = j;
  }
  return ans;
}
int main() {
  long long n, m;
  cin >> n >> m;
  long long ans = 0;
  if (n > m) {
    ans = solve(n, m);
  } else {
    ans = solve(n, n);
    ans = (ans + (n % mod) * ((m - n) % mod)) % mod;
  }
  cout << ans << endl;
  return 0;
}
