#include int main(){ using namespace std; // my fast in constexpr unsigned long buf_size = 3UL << 18UL; char buffer[buf_size]; fread(buffer, 1, buf_size, stdin); unsigned long tmp_buf = 0; const auto &read = [&tmp_buf, &buffer] { const auto &M_reread_from_stdin = [&] { ptrdiff_t len = buf_size - tmp_buf; if (len > tmp_buf) return; memcpy(buffer, buffer + tmp_buf, len); char *tmp = buffer + len; fread(tmp, 1, buf_size - len, stdin); tmp_buf = 0; }; unsigned long ret; from_chars_result tmp{}; do { if (__builtin_expect(buf_size <= tmp_buf + 32, 0)) M_reread_from_stdin(); tmp = from_chars(begin(buffer) + tmp_buf, end(buffer), ret); tmp_buf = tmp.ptr - buffer + 1; } while (tmp.ec != errc{}); return ret; }; const auto &scan = [scan_impl = [&read](auto &x) -> decltype(auto) { return x = read(); }]( auto &...args) { tuple{scan_impl(args)...}; }; // fast in kokomade unsigned long N; scan(N); vector v(N + 1); for(unsigned long i{1}; i <= N; ++i)v[i] = sqrtl(read()); for(unsigned long i{1}; i <= N; i <<= 1UL)for(unsigned long j{2 * i}; j <= N; j += 2 * i)v[j] += v[j - i]; for(unsigned long i{1}; i <= N; ++i)printf("%18.Lf\n", v[i] += v[i & (i - 1)]); return 0; }