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>).
from math import sqrt

def criba(n):
    primos = [True] * n  #Inicialmente todos los valores hasta n son marcados como primos
    primos[0] = primos[1] = False #Desmarco el 0 y el 1
    for i in range(2, int(sqrt(n))+1): #Recorrer solo hasta la raiz de n
        if primos[i]:
            for j in range(i * i, n, i): #Desmarcar todos los multiplos del primo i
                primos[j] = False
    return [index for index, item in enumerate(primos) if item] #retornar una lista solo con los primos

a,b = map(int,input().split())
resp = 0
primos = criba(b)
for i in primos:
    if (i==2 or i%4==1)and i>=a: #Solo incremento el contador cuando cumplen la condicion de exprsarse como suma de dos cuadrados y son >= que el limite inferior
        resp+=1
print(resp)

