#include <iostream>
#include <vector>
using namespace std;
int suma_cyfr(int n) {
int suma = 0;
while (n > 0) {
suma += n % 10;
n /= 10;
}
return suma;
}
int suma_binarna(int n) {
int suma = 0;
while (n > 0) {
suma += n & 1;
n >>= 1;
}
return suma;
}
bool czy_pierwsza(int x) {
if (x < 2) return false;
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) return false;
}
return true;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int a, b;
if (!(cin >> a >> b)) return 0;
vector<bool> is_prime(b + 1, true);
is_prime[0] = is_prime[1] = false;
for (long long p = 2; p * p <= b; p++) {
if (is_prime[p]) {
for (long long i = p * p; i <= b; i += p)
is_prime[i] = false;
}
}
int licznik = 0;
for (int i = a; i <= b; i++) {
if (is_prime[i]) {
if (czy_pierwsza(suma_cyfr(i))) {
if (czy_pierwsza(suma_binarna(i))) {
licznik++;
}
}
}
}
cout << licznik << "\n";
return 0;
}