func main() var n: int :: cui@inputInt() var p: float :: cui@inputFloat() var ps: []float :: sieve(n, p) var ans: float :: 0.0 for i(2, n) do ans :+ ps[i] end for do cui@print("\{ans}\n") func sieve(n: int, p: float): []float if(n < 2) ret[0.0].repeat(n + 1) end if var res: []float :: [1.0].repeat(n + 1) for i(2, n) var j: int :: 2 * i while(j <= n) do res[j] :* 1.0 - p do j :+ i end while end for ret res end func end func