func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 20;   const int mod = 1e9 + 7;   long double a[N];   int n, k;   long double dp[1 << N], out[N];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cin >> n >> k;     int zeros = 0;     for (int i = 0; i < n; i++) cin >> a[i], zeros += fabs(a[i] < (1e-7));     k = min(k, n - zeros);     dp[0] = 1.0;     for (int i = 0; i < 1 << n; i++) {       double tmp = 1.0;       for (int j = 0; j < n; j++)         if (i >> j & 1) tmp -= a[j];       if (__builtin_popcount(i) == k)         for (int j = 0; j < n; j++)           if (i >> j & 1) out[j] += dp[i];       if (tmp == 0.0) continue;       cout << fixed << setprecision(6);       for (int j = 0; j < n; j++)         if (!(i >> j & 1)) dp[i | 1 << j] += a[j] * dp[i] / tmp;     }     for (int i = 0; i < n; i++) cout << out[i] <<    ;     return 0;   }   