import collections n,p=map(float,input().split()) n=int(n) l=[i for i in range(n+1)] for i in range(2,n+1): if l[i]==i: for j in range(1,n//i+1): if i*j<=n: l[i*j]=i ans=0 for i in range(2,n+1): x=i d=[] while x!=1: d.append(l[x]) x//=l[x] d=collections.Counter(d) d=list(d.values()) ct=1 for j in range(len(d)): ct*=(d[j]+1) ct-=2 ans+=(1-p)**ct print(ans)