#1016 제곱 ㄴㄴ수
import sys
import math
A,B = map(int,input().split())
C = int(math.sqrt(B))
nest = [1] * (B-A+1)
for i in range (2,C+1):
a = A // (i ** 2)
a *= (i ** 2)
if a * (i ** 2) < A and B < (a + 1) * (i ** 2):
continue
else:
for j in range (a,B + 1,(i ** 2)):
if j - A >= 0:
nest[j-A] = 0
print(nest.count(1))
더 효율적인 방법이 있을런지 ... ?