#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-9;
int n, k;
double p[30], dp[(1 << 20) + 9];
double solve(int r) {
  if (p[r] < 1e-9) return 0;
  double ret = 0;
  memset(dp, 0, sizeof(dp));
  dp[0] = p[r];
  for (int s = 0; s < (1 << n); s++)
    if ((s >> r & 1) == 0) {
      if (__builtin_popcount(s) >= k) continue;
      double sum = 0;
      for (int i = 0; i < (n); i++)
        if (s >> i & 1) sum += p[i];
      dp[s] /= (1 - sum);
      ret += dp[s];
      for (int i = 0; i < (n); i++)
        if ((s >> i & 1) == 0) {
          dp[s ^ (1 << i)] += dp[s] * p[i];
        }
    }
  return ret;
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 0; i < (n); i++) scanf("%lf", &p[i]);
  for (int i = 0; i < (n); i++) printf("%.14f\n", solve(i));
  return 0;
}
