#include <bits/stdc++.h>
using namespace std;
int n, m, K;
double A[20], f[1 << 20], ans[20];
int main() {
  scanf("%d%d", &n, &m);
  int t = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%lf", &A[i]);
    if (A[i]) ++t;
    f[1 << i] = A[i];
  }
  m = min(m, t);
  for (int i = 1; i < 1 << n; ++i) {
    int cnt = 0;
    for (int j = 0; j < n; ++j)
      if (i >> j & 1) ++cnt;
    if (cnt > 1) {
      double sum = 0;
      for (int j = 0; j < n; ++j)
        if (!(i >> j & 1)) sum += A[j];
      for (int j = 0; j < n; ++j)
        if (i >> j & 1) {
          double t = sum + A[j] == 0 ? 0 : A[j] / (sum + A[j]);
          f[i] += f[i ^ (1 << j)] * t;
        }
    }
    if (cnt == m) {
      for (int j = 0; j < n; ++j)
        if (i >> j & 1) ans[j] += f[i];
    }
  }
  for (int i = 0; i < n; ++i) printf("%.12lf ", ans[i]);
  return 0;
}
