let input = stdin.ReadLine().Split(' ') let N = input.[0] |> int let p = input.[1] |> float let count = Array.zeroCreate (N+1) for i = 2 to N do for j in i*2 .. i .. N do count.[j] <- count.[j] + 1 let p2 = 1.0 - p [ for i = 2 to N do yield if count.[i] = 0 then 1.0 else p2 ** (float count.[i]) ] |> List.sum |> printfn "%f"