L,R = map(int, input().split()) count = 0 def eratosthenes_sieve(n): is_prime = [True]*(n+1) is_prime[0] = is_prime[1] = False for p in range(2, n+1): if is_prime[p]: for q in range(2*p,n+1,p): is_prime[q] = False return is_prime n = 10**6 is_prime = eratosthenes_sieve(n) for i in range(L,R): if is_prime[i] == True: count += 1 if is_prime[2*i+1] == True: count += 1 if is_prime[R] == True: count += 1 print(count)