#include <bits/stdc++.h>
double p[30];
double ps[1 << 20];
int oc[1 << 20];
int mu[30];
int comb[30][30];
int main() {
  comb[0][0] = 1;
  for (int i = 1; i < 30; i++) {
    comb[i][0] = 1;
    for (int j = 1; j <= i; j++)
      comb[i][j] = comb[i - 1][j - 1] + comb[i - 1][j];
  }
  int N, K;
  scanf("%d%d", &N, &K);
  for (int i = 0; i < N; i++) scanf("%lf", &p[i]);
  int NN = (1 << N);
  for (int i = 0; i < NN; i++) {
    int o = 0;
    for (int j = 0; j < N; j++) {
      if (i & (1 << j)) {
        ps[i] += p[j];
        o++;
      }
    }
    oc[i] = o;
  }
  for (int i = 0; i <= N - 1; i++) {
    for (int j = (K > i ? K : i); j <= N - 1; j++) {
      int a = N - 1 - i, b = j - i;
      if (b % 2 == 0)
        mu[i] += comb[a][b];
      else
        mu[i] -= comb[a][b];
    }
  }
  for (int i = 0; i < N; i++) {
    double ans = 0.0;
    if (p[i] > 1e-5) {
      for (int j = 0; j < NN; j++) {
        if ((j & (1 << i)) == 0) {
          ans += mu[oc[j]] / (1.0 - ps[j]);
        }
      }
      ans = 1.0 - ans * p[i];
    }
    printf("%.16lf ", ans);
  }
  printf("\n");
  return 0;
}
