#include <bits/stdc++.h>
using namespace std;
double dp[1 << 20];
double T[22];
int num[22];
double ans[22];
int main() {
  ios_base::sync_with_stdio(0);
  int n, k;
  cin >> n >> k;
  int N = n;
  dp[0] = 1;
  for (int i = 0, j = 0; i < n; i++, j++) {
    cin >> T[i];
    num[i] = j;
    if (T[i] == 0.) i--, n--;
  }
  k = min(k, n);
  for (int i = 1; i < (1 << n); i++) {
    if (__builtin_popcount(i) > k) continue;
    double s = 0;
    for (int j = 0; j < n; j++)
      if ((i & (1 << j)) != 0) s += T[j];
    for (int j = 0; j < n; j++) {
      if ((i & (1 << j)) != 0)
        dp[i] += (dp[i - (1 << j)] * T[j]) / (1 - s + T[j]);
    }
    if (__builtin_popcount(i) == k) {
      for (int j = 0; j < n; j++)
        if ((i & (1 << j)) != 0) ans[j] += dp[i];
    }
  }
  cout.setf(ios::fixed, ios::floatfield);
  cout.precision(7);
  for (int i = 0, j = 0; i < N; i++) {
    if (num[j] == i) {
      cout << ans[j] << " ";
      j++;
    } else
      cout << "0 ";
  }
  return 0;
}
