#include using namespace std; bool isPrime(int n) { if (n <= 1) { return false; } for (int x = 2; x * x <= n; x++) { if (n % x == 0) { return false; } } return true; } bool check(string &s) { int n = (int) s.size(); for (int mask = 1; mask < (1 << n); mask++) { int val = 0; for (int i = 0; i < n; i++) { if (mask & (1 << i)) { val = 10 * val + s[i] - '0'; } } if (!isPrime(val)) { return false; } } return true; } int main() { // assert(freopen("subnumbers.in", "r", stdin)); // assert(freopen("subnumbers.out", "w", stdout)); cin.sync_with_stdio(false); int a, b; cin >> a >> b; b = min(b, 10000); int ans = 0; string s; for (int x = a; x <= b; x++) { stringstream ss; ss << x; ss >> s; bool ok = true; for (int i = 0; i < (int) s.size() && ok; i++) { if (s[i] != '2' && s[i] != '3' && s[i] != '5' && s[i] != '7') { ok = false; } } if (ok && check(s)) { ans++; } } cout << ans << endl; return 0; }