f n k l=if n<k then f (n*2) k (l+1) else l
main=do
 [n,k]<-map read.words<$>getLine :: IO [Int]
 let sp=f n k 0
     sq=sum$map(\x->if x>=k then 2^sp else 2^(sp-f(k`div`x)(k)(0))(drop 1 [1..n])
     sqq=read(show (sq+1))::Double
     spp=read(show (n*(2^sp)))::Double
 print$sqq/spp