target=(1 << 25)+1
d=[i for i in range(target)]
mob=[0 for i in range(target)]
mob[1]=1
n=2
while n < target:
for i in range(n,target,n):
if d[i]>1:
if i%(n*n)==0:
d[i]=1
mob[i]=0
else:
d[i]/=n
mob[i]+=1
if d[i]==1 and mob[i]>0:
mob[i]=-1 if mob[i]%2==1 else 1
while n < target and d[n] < n:
n+=1
print sum(mob[n]*((1 << 50)/(n*n)) for n in range(1,(1 << 25)+1))