func_code_string: #include <bits/stdc++.h>   using namespace std;   double p[21], dp[(1 << 21)], ans[21];   int n, k;   int main() {     scanf( %d %d , &n, &k);     for (int i = 0; i < n; i++) scanf( %lf , p + i);     dp[0] = 1;     for (int bit = 1; bit < (1 << n); bit++)       if (__builtin_popcount(bit) <= k) {         double rp = 1;         for (int i = 0; i < n; i++)           if ((bit & (1 << i))) rp -= p[i];         for (int i = 0; i < n; i++)           if ((bit & (1 << i))) {             if (p[i] < 1e-9) continue;             dp[bit] += dp[bit ^ (1 << i)] * p[i] / (rp + p[i]);             ans[i] += dp[bit ^ (1 << i)] * p[i] / (rp + p[i]);           }       }     for (int i = 0; i < n; i++) printf( %.11lf  , ans[i]);   }   