#include<bits/stdc++.h> usingnamespacestd; typedeflonglong ll; #define pii pair<int, int> #define mk make_pair constint N = 1e5 + 10; constint mod = 1e9 + 7; constdouble pi = acos(-1.0);
intread() { int x = 0, f = 1; char c = getchar(); while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); } while (c >= '0' && c <= '9') x = (x << 1) + (x << 3) + c - '0', c = getchar(); return x * f; }
Complex operator*(const Complex &b) const { return Complex(x * b.x - y * b.y, x * b.y + y * b.x); } }; int rev[N]; voidFFT(Complex *A, int n, int inv) { for (int i = 0; i < n; i++) if (i < rev[i]) swap(A[i], A[rev[i]]); for (int l = 1; l < n; l <<= 1) { Complex temp(cos(pi / l), inv * sin(pi / l)); for (int i = 0; i < n; i += (l << 1)) { Complex omega(1, 0); for (int j = 0; j < l; j++, omega = omega * temp) { Complex x = A[i + j], y = omega * A[i + j + l]; A[i + j] = x + y; A[i + j + l] = x - y; } } }
if (inv == -1) for (int i = 0; i < n; i++) A[i].x /= n; }
voidFFTX(Complex *a, int n, Complex *b, int m, Complex *ans) { int ML = 1, bit = 0; while (ML < n + m) ML <<= 1, bit++; for (int i = 0; i < ML; i++) rev[i] = (rev[i >> 1] >> 1) | ((i & 1) << (bit - 1)); FFT(a, ML, 1); FFT(b, ML, 1); for (int i = 0; i < ML; i++) ans[i] = a[i] * b[i]; FFT(ans, ML, -1); } Complex f[N], ff[N], g[N], gg[N]; Complex ans1[N]; Complex ans2[N]; intmain() { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%lf", &f[i].x); for (int i = 1; i <= n; i++) ff[n - i + 1].x = f[i].x, g[i].x = gg[i].x = (double)(1.0 / i / i);
FFTX(g, n, f, n, ans1);
FFTX(gg, n, ff, n, ans2);
for (int i = 1; i <= n; ++i) printf("%.3lf\n", ans1[i].x - ans2[n - i + 1].x); }