#include <bits/stdc++.h>
using namespace std;
int main() {
int a,b,count=0;
cin>>a>>b;
if (a>b)swap(a,b);
if (a<2)a=2;
if (b<2) {
cout<<0<< endl;
return 0;
}
vector<bool> isPrime(b + 1, true);
isPrime[0]=isPrime[1] =false;
for (int i = 2; i * i <= b; ++i)
if (isPrime[i])
for (int j = i * i; j <= b; j += i)
isPrime[j] = false;
for (int i = a; i <= b; ++i)
if (isPrime[i]) count++;
cout << count << endl;
return 0;
}