On the math lesson a teacher asked each pupil to come up with his own lucky numbers. As a fan of number theory Peter chose prime numbers. Bob was more original. He said that number *t* is his lucky number, if it can be represented as: 

Now, the boys decided to find out how many days of the interval [*l*, *r*] (*l* ≤ *r*) are suitable for pair programming. They decided that the day *i* (*l* ≤ *i* ≤ *r*) is suitable for pair programming if and only if the number *i* is lucky for Peter and lucky for Bob at the same time. Help the boys to find the number of such days.
The first line of the input contains integer numbers *l*, *r* (1 ≤ *l*, *r* ≤ 3·10<sup class="upper-index">8</sup>).
import math

def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or (n % (i + 2) == 0):
            return False
        i = i + 6

    return True


l, r = [int(n) for n in input().split()]
results = set()
res = 0
for t in range(l, r+1):
    if is_prime(t):
        for a in range(int(math.sqrt(t))):
            #print(math.sqrt(t-a**2))
            if math.sqrt(t-(a**2)) % 1 == 0:
                #print(f"{a}^2+{int(math.sqrt(t-(a**2)))}^2={t}")
                results.add(tuple(sorted((a, int(math.sqrt(t-(a**2)))))))
                res += 1
            #print(f"{a}^2 + x^2={t}")

print(len(results))
#print(res)