#include <bits/stdc++.h>
using namespace std;
const double ep = 1e-6;
int n, m, k;
double p[22], ans[22], dp[1 << 22];
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%lf", &p[i]);
    if (p[i] > ep) m++;
  }
  k = min(k, m);
  dp[0] = 1;
  for (int i = 0; i < (1 << n); i++) {
    m = __builtin_popcount(i);
    if (m > k) continue;
    if (m == k) {
      for (int j = 0; j < n; j++)
        if (i & (1 << j)) ans[j] += dp[i];
    }
    double sum = 0;
    for (int j = 0; j < n; j++)
      if (!(i & (1 << j))) sum += p[j];
    if (sum > ep) {
      for (int j = 0; j < n; j++)
        if (!(i & (1 << j))) dp[i ^ (1 << j)] += dp[i] * p[j] / sum;
    }
  }
  for (int i = 0; i < n; i++)
    printf("%.12lf%c", ans[i], i < n - 1 ? ' ' : '\n');
  return 0;
}
