#include using namespace std; vector primes; void sieve(int n) { vector is_prime(n, true); is_prime[0] = is_prime[1] = false; for (int i = 2; i < n; i++) { if (is_prime[i]) { primes.push_back(i); for (int j = i * 2; j < n; j += i) { is_prime[j] = false; } } } } int main() { long long n, L; cin >> n >> L; sieve(L + 1); long long ans = 0; for (long long p : primes) { long long last = (n - 1) * p; ans += max(0ll, L - last + 1); } cout << ans << endl; }