#include <bits/stdc++.h>
using namespace std;
int i, i0, n, k;
double dp[1 << 20][25], a[25], ans[25];
int main() {
  scanf("%d %d", &n, &k);
  int cnt = 0;
  for (i = 0; i < n; i++) scanf("%lf", &a[i]), cnt += (a[i] != 0);
  dp[0][0] = 1;
  k = min(cnt, k);
  for (i = 0; i < k; i++) {
    for (i0 = 0; i0 < (1 << n); i0++) {
      if (!dp[i0][i]) continue;
      double r = 0;
      for (int i1 = 0; i1 < n; i1++) {
        if (!(i0 & (1 << i1))) r += a[i1];
      }
      for (int i1 = 0; i1 < n; i1++) {
        if (!(i0 & (1 << i1))) {
          dp[i0 | (1 << i1)][i + 1] += dp[i0][i] * a[i1] / r;
        }
      }
    }
  }
  for (i = 0; i < (1 << n); i++) {
    for (i0 = 0; i0 < n; i0++) {
      if (i & (1 << i0)) ans[i0] += dp[i][k];
    }
  }
  for (i = 0; i < n; i++) printf("%.10f%c", ans[i], i == n - 1 ? '\n' : ' ');
  return 0;
}
