#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 25;
double dp[1 << 21];
double ar[MAXN];
int POWER[MAXN];
double ans[MAXN];
int main() {
  int n, k;
  cin >> n >> k;
  int z = 0;
  for (int i = 0; i < n; i++) {
    cin >> ar[i];
    if (ar[i] < 1e-8) z++;
  }
  k = min(n - z, k);
  POWER[0] = 1;
  for (int i = 1; i < MAXN; i++) POWER[i] = POWER[i - 1] << 1;
  dp[0] = 1.0;
  for (int i = 1; i < POWER[n]; i++) {
    double tot = 1.0;
    for (int j = 0; j < n; j++)
      if (POWER[j] & i) {
        tot -= ar[j];
      }
    int c = 0;
    for (int j = 0; j < n; j++) {
      if (POWER[j] & i) {
        int mask = i - POWER[j];
        double den = tot + ar[j];
        dp[i] += (1.0 * ar[j] / den) * dp[mask];
        c++;
      }
    }
    if (c == k) {
      for (int j = 0; j < n; j++) {
        if (POWER[j] & i) ans[j] += dp[i];
      }
    }
  }
  for (int i = 0; i < n; i++)
    printf("%.10lf%c", ans[i], (i == n - 1 ? '\n' : ' '));
  return 0;
}
