#include <bits/stdc++.h>
using namespace std;
double p[20], dp[1 << 20], ans[20];
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 i = 0; i < (1 << n); i++) {
    int cnt = 0;
    for (int j = 0; j < n; j++)
      if (i & (1 << j)) cnt++;
    if (cnt <= k) {
      double rest = 0;
      for (int j = 0; j < n; j++)
        if (!(i & (1 << j))) rest += p[j];
      for (int j = 0; j < n; j++)
        if (i & (1 << j))
          if (p[j] > 0) {
            double here = dp[i ^ (1 << j)] * p[j] / (rest + p[j]);
            ans[j] += here;
            dp[i] += here;
          }
    }
  }
  for (int i = 0; i < n; i++) printf("%.10f ", ans[i]);
}
