import math l,r = map(int,input().split()) v = [l+i for i in range(r-l+1)] w = [0 for i in range(r-l+1)] dp = [0 for i in range(10**6+1)] for i in range(2, 10**6): if dp[i] == 0: for j in range(r-l+1): if v[j]%(i**2) == 0: w[j] = 1 while v[j]%i == 0: v[j]//=i for j in range(i, 10**6+1, i): dp[j] = 1 #残ったもの… 10**12 - 10**18 for j in range(r-l+1): if w[j] == 0: ins = math.floor(math.sqrt(v[j] // 2)) if ins**2 > v[j]: ins -= 1 if ins > 1 and ins**2 == v[j]: w[j] = 1 #print(w) print(r-l+1 - sum(w))