#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <fstream>
#include <queue>
#define rep(i, l, r) for(int i = l; i <= r; i++)
#define down(i, l, r) for(int i = l; i >= r; i--)
#define MS 123456
#define MAX 1037471823
#define Q 100
using namespace std;
int n, t, g[MS];
double a, sum, f[MS], m[MS];
int main()
{
scanf("%d%lf", &n, &a);
rep(i, 1, n) scanf("%lf", &m[i]);
rep(i, 1, n) g[i] = int(a*i+1e-6);
rep(i, 1, n)
{
t = min(i-1, Q);
sum = f[i-t]/m[i-t]*(i-t-g[i-t]/2)/(i-g[i-t]/2);
rep(j, g[i-t]+1, g[i]) sum += m[j]/(i-j);
f[i] = sum * m[i];
printf("%.6lf\n", f[i]);
}
return 0;
}
I2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDxxdWV1ZT4KCiNkZWZpbmUgcmVwKGksIGwsIHIpIGZvcihpbnQgaSA9IGw7IGkgPD0gcjsgaSsrKQojZGVmaW5lIGRvd24oaSwgbCwgcikgZm9yKGludCBpID0gbDsgaSA+PSByOyBpLS0pCiNkZWZpbmUgTVMgMTIzNDU2CiNkZWZpbmUgTUFYIDEwMzc0NzE4MjMKI2RlZmluZSBRIDEwMAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuLCB0LCBnW01TXTsKZG91YmxlIGEsIHN1bSwgZltNU10sIG1bTVNdOwoKaW50IG1haW4oKQp7CglzY2FuZigiJWQlbGYiLCAmbiwgJmEpOwoJcmVwKGksIDEsIG4pIHNjYW5mKCIlbGYiLCAmbVtpXSk7CglyZXAoaSwgMSwgbikgZ1tpXSA9IGludChhKmkrMWUtNik7CglyZXAoaSwgMSwgbikKCXsKCQl0ID0gbWluKGktMSwgUSk7CgkJc3VtID0gZltpLXRdL21baS10XSooaS10LWdbaS10XS8yKS8oaS1nW2ktdF0vMik7CgkJcmVwKGosIGdbaS10XSsxLCBnW2ldKSBzdW0gKz0gbVtqXS8oaS1qKTsKCQlmW2ldID0gc3VtICogbVtpXTsKCQlwcmludGYoIiUuNmxmXG4iLCBmW2ldKTsKCX0KCXJldHVybiAwOwp9