#include <bits/stdc++.h>
using namespace std;
double F[1 << 20];
double P[20];
double T[20];
int R[20];
int N, M, K;
int main() {
  scanf("%d%d", &N, &K);
  for (int i = 0; i < N; ++i) {
    scanf("%lf", &P[M]);
    if (P[M] > 1e-10) R[M++] = i;
  }
  if (M < K) K = M;
  int S = 1 << M;
  F[0] = 1;
  for (int i = 0; i < S; ++i) {
    int x = 0;
    for (int j = 0; j < M; ++j)
      if (i & (1 << j)) ++x;
    if (x < K) {
      double p = 0;
      for (int j = 0; j < M; ++j)
        if (!(i & (1 << j))) p += P[j];
      for (int j = 0; j < M; ++j)
        if (!(i & (1 << j))) F[i | (1 << j)] += F[i] * P[j] / p;
    }
  }
  for (int i = 0; i < S; ++i) {
    int x = 0;
    for (int j = 0; j < M; ++j)
      if (i & (1 << j)) ++x;
    if (x == K)
      for (int j = 0; j < M; ++j)
        if (i & (1 << j)) T[j] += F[i];
  }
  int k = 0;
  for (int i = 0; i < M; ++i) {
    while (k < R[i]) {
      fputs("0.00000000 ", stdout);
      ++k;
    }
    printf("%.8f%c", T[i], " \n"[++k == N]);
  }
  while (k < N) printf("0.00000000%c", " \n"[++k == N]);
  return 0;
}
