#include <bits/stdc++.h>
using namespace std;
double p[22], f[(1 << 20) + 10], ans[22];
int n, m;
int main() {
  int cnt = 0;
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) {
    scanf("%lf", &p[i]);
    if (p[i] > 1e-7) cnt++;
  }
  if (cnt <= m) {
    for (int i = 1; i <= n; i++)
      if (p[i] > 1e-7)
        printf("1 ");
      else
        printf("0 ");
    return 0;
  }
  int ss = (1 << n) - 1;
  f[0] = 1;
  for (int i = 0; i <= ss; i++) {
    cnt = 0;
    for (int j = 1; j <= n; j++)
      if (i & (1 << (j - 1))) cnt++;
    if (cnt > m) continue;
    if (cnt == m) {
      for (int j = 1; j <= n; j++)
        if (i & (1 << (j - 1))) ans[j] += f[i];
      continue;
    }
    double t = 1;
    for (int j = 1; j <= n; j++)
      if (i & (1 << (j - 1))) t -= p[j];
    for (int j = 1; j <= n; j++) {
      if (i & (1 << (j - 1))) continue;
      f[i + (1 << (j - 1))] += f[i] * p[j] / t;
    }
  }
  for (int i = 1; i <= n; i++) printf("%.7lf ", ans[i]);
  return 0;
}
