l,r=map(int,input().split()) x=[i for i in range(l,r+1)] y=[2] z=[0]*10**6 for i in range(3,10**6,2): if z[i]: continue y.append(i) for j in range(i,10**6,i): z[j]=1 for i in y: c=(i-l%i)%i for j in range(c,len(x),i): d=0 while x[j] and x[j]%i==0: x[j]//=i;d+=1 if d>=2: x[j]=0 ans=0 for i in x: if not i: continue q,w=2,10**9 while w-q>1: m=(q+w)//2 if m**2<=i: q=m else: w=m if q**2!=i: ans+=1 print(ans)