#include <bits/stdc++.h>
using namespace std;
double p[20], dp[1 << 20], ans[20];
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  for (int i = 0, tmp = n; i < n; i++) {
    scanf("%lf", p + i);
    if (p[i] == 0.0) tmp--;
    k = min(k, tmp);
  }
  dp[0] = 1.0;
  for (int msk = 0; msk < (1 << n); msk++) {
    double sum = 0;
    int cnt = n;
    bool ok = true;
    for (int i = 0; i < n; i++) {
      if (!(msk & (1 << i))) {
        sum += p[i];
        cnt--;
      }
    }
    for (int i = 0; i < n; i++) {
      if (!(msk & (1 << i)) && p[i] > 0.0) {
        dp[msk | (1 << i)] += dp[msk] * (p[i] / sum);
      } else if ((msk & (1 << i)) && cnt == k) {
        ans[i] += dp[msk];
      }
    }
  }
  for (int i = 0; i < n; i++) printf("%.10f ", ans[i]);
}
