#include <bits/stdc++.h>
using namespace std;
double P[2000000];
double DP[2000000];
double result[2000000];
int main() {
  int N, K;
  scanf("%d%d", &N, &K);
  for (int i = 0; i < (N); ++i) scanf("%lf", &P[i]);
  int K2 = 0;
  for (int i = 0; i < (N); ++i)
    if (P[i] > 1e-3) ++K2;
  K = min(K, K2);
  DP[0] = 1.0;
  for (int i = 0; i < ((1 << N) + 1); ++i) {
    int bc = 0;
    double total = 0.0;
    for (int j = 0; j < (N); ++j) {
      if (i & (1 << j))
        ++bc;
      else
        total += P[j];
    }
    if (bc == K) {
      for (int j = 0; j < (N); ++j)
        if (i & (1 << j)) result[j] += DP[i];
    } else if (bc < K) {
      for (int j = 0; j < (N); ++j)
        if (!(i & (1 << j))) {
          DP[i | (1 << j)] += DP[i] * P[j] / total;
        }
    }
  }
  for (int i = 0; i < (N); ++i) printf("%0.9lf ", result[i]);
  printf("\n");
}
