#include <bits/stdc++.h>
using namespace std;
int n, tot, k;
int num[1500005], id[25];
double p[25], f[1500005], ans[25];
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  for (; ch < '0' || ch > '9'; ch = getchar())
    if (ch == '-') f = -1;
  for (; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
  return x * f;
}
inline void print(int x) {
  if (x >= 10) print(x / 10);
  putchar(x % 10 + '0');
}
int main() {
  n = read(), k = read();
  int tmp = n;
  for (int i = 1; i < (1 << n); i++) num[i] = num[i >> 1] + (i & 1);
  for (int i = 1; i <= n; i++) {
    double x;
    scanf("%lf", &x);
    if (x > 1e-6) p[++tot] = x, id[tot] = i;
  }
  k = min(k, n = tot);
  f[0] = 1;
  for (int i = 0; i < (1 << n); i++) {
    double all = 1;
    for (int j = 1; j <= n; j++)
      if (i & (1 << (j - 1))) {
        all -= p[j];
        if (num[i] == k) ans[id[j]] += f[i];
      }
    for (int j = 1; j <= n; j++)
      if (~i & (1 << (j - 1))) {
        int S = i | (1 << (j - 1));
        f[S] += f[i] * p[j] / all;
      }
  }
  for (int i = 1; i <= tmp; i++) printf("%.8lf ", ans[i]);
  return 0;
}
