#include <bits/stdc++.h>
using namespace std;
double dp[1 << 20];
double ans[20], prob[20];
long long countBits(long long u) {
  long long cnt = 0;
  for (long long i = 0; i < 20; i++)
    if (u & 1 << i) cnt++;
  return cnt;
}
int main() {
  std::ios::sync_with_stdio(false);
  cin.tie(0);
  long long n, k;
  cin >> n >> k;
  long long onecount = 0;
  for (long long i = 0; i < n; i++) {
    cin >> prob[i];
    if (prob[i] > 0.001) onecount++;
  }
  if (onecount <= k) {
    for (long long i = 0; i < n; i++) {
      if (prob[i] > 0.001)
        cout << 1 << " ";
      else
        cout << 0 << " ";
    }
    cout << endl;
    return 0;
  }
  dp[0] = 1;
  for (long long i = 0; i < 1 << n; i++) {
    long long cnt = countBits(i);
    if (cnt == k) {
      for (long long j = 0; j < n; j++)
        if (i & 1 << j) ans[j] += dp[i];
      continue;
    } else if (cnt > k)
      continue;
    double total = 0;
    for (long long j = 0; j < n; j++)
      if ((i & 1 << j) == 0) total += prob[j];
    for (long long j = 0; j < n; j++) {
      if ((i & 1 << j) == 0) dp[i | 1 << j] += dp[i] * prob[j] / total;
    }
  }
  for (long long i = 0; i < n; i++) cout << ans[i] << " ";
  cout << endl;
}
