#include <bits/stdc++.h>
using namespace std;
const int N = 21;
const double eps = 1e-7;
int n, m;
bool eq(const double &a, const double &b) { return fabs(a - b) < eps; }
double p[N], dp[1 << N], ans[N];
int main() {
  scanf("%d%d", &n, &m);
  for (int i = (0); i < (n); i++) scanf("%lf", &p[i]);
  dp[0] = 1;
  int lim = 1 << n;
  for (int mask = (1); mask < (lim); mask++)
    if (__builtin_popcount(mask) <= m) {
      double sump = 1.0;
      for (int bit = (0); bit < (n); bit++)
        if (mask & (1 << bit)) sump -= p[bit];
      for (int bit = (0); bit < (n); bit++)
        if (mask & (1 << bit)) {
          if (eq(p[bit], 0.0)) continue;
          dp[mask] += dp[mask ^ (1 << bit)] * p[bit] / (p[bit] + sump);
          ans[bit] += dp[mask ^ (1 << bit)] * p[bit] / (p[bit] + sump);
        }
    }
  for (int i = (0); i < (n); i++) printf("%.15f ", ans[i]);
}
