#include <bits/stdc++.h>
using namespace std;
int n, k;
long double f[1 << 20];
double p[1 << 20], ans[20];
int g[1 << 20];
int main() {
  f[0] = 1;
  cin >> n >> k;
  int cnt = n;
  for (int i = 0; i < n; i++) {
    cin >> p[1 << i];
    if (p[1 << i] == 0) cnt--;
  }
  if (cnt < k) k = cnt;
  int lim = 1 << n;
  for (int i = 1; i < lim; i++) {
    p[i] = p[i & (-i)] + p[i ^ (i & (-i))];
    g[i] = (i & 1) + g[i >> 1];
  }
  for (int i = 0; i < lim; i++) {
    for (int j = 0; j < n; j++) {
      if (i & (1 << j)) continue;
      if (p[i] != 1) f[i ^ (1 << j)] += f[i] * p[1 << j] / (1 - p[i]);
    }
    if (g[i] == k)
      for (int j = 0; j < n; j++)
        if (i & (1 << j)) ans[j] += f[i];
  }
  for (int i = 0; i < n; i++) printf("%.10f ", ans[i]);
  puts("");
  return 0;
}
