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)