def sieve_eratosthenes(n): primes = [0, 1] * (n // 2 + 1) if n % 2 == 0: primes.pop() primes[1] = 0 primes[2] = 1 for p in range(3, int(n ** 0.5) + 1, 2): if primes[p]: for q in range(p * p, n + 1, 2 * p): primes[q] = 0 return [i for i in range(len(primes)) if primes[i]] l, r = map(int, input().split()) p = set(sieve_eratosthenes(r * 3)) ans = 0 for i in range(l, r): if i + i + 1 in p: ans += 1 for i in range(l, r + 1): if i in p: ans += 1 print(ans)