#include <bits/stdc++.h>
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization("O8")
#pragma GCC optimization("unroll-loops")
using namespace std;
const long long int N = 2e7 + 10, mod = 2e18, inf = 3e18, maxm = 1000;
const long double eps = 0.0001;
int m[N];
int main() {
  int n, a;
  cin >> a >> n;
  for (int i = 1; i < a + n; i++) {
    long long j = i * i;
    if (j > a + n - 1) break;
    for (int k = 1; k < a + n; k++) {
      if (k * j > a + n - 1) break;
      m[k * j] = j;
    }
  }
  long long ans = 0;
  for (int i = a; i < a + n; i++) {
    ans += i / m[i];
  }
  cout << ans;
  return 0;
}
