#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
long long i, j, k, n, m, s, t, ans;
int main() {
  scanf("%I64d%I64d", &n, &m);
  for (s = k = int(sqrt(n)) + 1; k > 1; k--) {
    i = n / k + 1;
    j = n / (k - 1);
    if (j > m) j = m;
    if (i > j) break;
    t = ((j - i + 1) % mod) * ((n % i + n % j) % mod) % mod * 500000004 % mod;
    ans = (ans + t) % mod;
    i = j + 1;
    if (j == m) break;
  }
  if (i <= m) ans += ((m - i + 1) % mod) * (n % mod);
  for (k = n / s < m ? n / s : m; k > 1; k--) ans += n % k;
  printf("%I64d", ans % mod);
}
