package main
import (
"fmt"
"math/bits"
)
func main() {
var n, k int
if _, err := fmt.Scan(&n, &k); err != nil {
return
}
p := make([]float64, n)
for i := 0; i < n; i++ {
fmt.Scan(&p[i])
}
dp := make([]float64, 1<<n)
dp[0] = 1.0
ans := make([]float64, n)
for mask := 0; mask < (1<<n); mask++ {
if dp[mask] == 0 {
continue
}
c := bits.OnesCount(uint(mask))
var sum_p float64
for i := 0; i < n; i++ {
if (mask & (1 << i)) != 0 {
sum_p += p[i]
}
}
if c == k || 1.0-sum_p < 1e-7 {
for i := 0; i < n; i++ {
if (mask & (1 << i)) != 0 {
ans[i] += dp[mask]
}
}
continue
}
for i := 0; i < n; i++ {
if (mask&(1<<i)) == 0 && p[i] > 0 {
dp[mask|(1<<i)] += dp[mask] * p[i] / (1.0 - sum_p)
}
}
}
for i := 0; i < n; i++ {
if i > 0 {
fmt.Print(" ")
}
fmt.Printf("%.7f", ans[i])
}
fmt.Println()
}