#include #include #include #include #include using namespace std; int v[6]; int ciur[1000010]; vector primes; bool check(int i) { vector vec,vec1; while (i) { vec.push_back(i % 10); i /= 10; } for (int i = vec.size()-1; i >=0;--i) vec1.push_back(vec[i]); for (int i = 1; i < (1 << (vec1.size())); ++i) { int p = 0; for (int j = 0; j < vec1.size(); ++j) { if (((i&(1 << j)))) { p = p * 10 + vec1[j]; } } if (ciur[p]) return false; } return true; } int main() { int l, r; cin >> l >> r; ciur[1] = 1; ciur[0] = 1; for (int i = 2; i <= 1000000; i++) { for (int j = i + i; j <= 1000000; j += i) ciur[j] = 1; if (!ciur[i]) primes.push_back(i); } int nr = 0; for (int i = 0; i < primes.size(); ++i) { if (l <= primes[i] && primes[i] <= r && check(primes[i])) { ++nr; } } cout << nr; return 0; }