package main import ( "fmt" "math" ) func main() { var N int var p float64 fmt.Scan(&N, &p) d := divisorCounter(N) var ans float64 for i := 2; i < N+1; i++ { if d[i] == 0 { ans += 1 } else { ans += math.Pow(1-p, float64(d[i])) } } fmt.Println(ans) } func divisorCounter(n int) []int { d := make([]int, n+1) for i := 2; i < n+1; i++ { for j := i * 2; j < n+1; j += i { d[j]++ } } return d }