Igor the analyst has adopted n little bunnies. As we all know, bunnies love carrots. Thus, Igor has bought a carrot to be shared between his bunnies. Igor wants to treat all the bunnies equally, and thus he wants to cut the carrot into n pieces of equal area. 

Formally, the carrot can be viewed as an isosceles triangle with base length equal to 1 and height equal to h. Igor wants to make n - 1 cuts parallel to the base to cut the carrot into n pieces. He wants to make sure that all n pieces have the same area. Can you help Igor determine where to cut the carrot so that each piece have equal area?

 [Image] Illustration to the first example. 


-----Input-----

The first and only line of input contains two space-separated integers, n and h (2 ≤ n ≤ 1000, 1 ≤ h ≤ 10^5).


-----Output-----

The output should contain n - 1 real numbers x_1, x_2, ..., x_{n} - 1. The number x_{i} denotes that the i-th cut must be made x_{i} units away from the apex of the carrot. In addition, 0 < x_1 < x_2 < ... < x_{n} - 1 < h must hold. 

Your output will be considered correct if absolute or relative error of every number in your output doesn't exceed 10^{ - 6}.

Formally, let your answer be a, and the jury's answer be b. Your answer is considered correct if $\frac{|a - b|}{\operatorname{max}(1, b)} \leq 10^{-6}$.


-----Examples-----
Input
3 2

Output
1.154700538379 1.632993161855

Input
2 100000

Output
70710.678118654752



-----Note-----

Definition of isosceles triangle: https://en.wikipedia.org/wiki/Isosceles_triangle.

Difficulty: EASY
Tags: Geometry

Mathematics

Starter code:

Solutions:
import math
first_line = list(map(int, input().split()))
(n, h) = first_line
total_area = 0.5 * h
area = total_area / 3
ans = ''
for i in range(n - 1):
	ans += str(math.sqrt(2 * h * (total_area * (i + 1) / n)))
	ans += ' '
print(ans.strip())


(n, h) = map(int, input().split())
import math
for i in range(1, n):
	x = h * math.sqrt(i / n)
	print(x, end=' ')


(n, h) = map(int, input().split())
arr = list()
for i in range(1, n):
	ans = h * (i / n) ** 0.5
	arr.append(ans)
s = ''
for el in arr:
	s += str(el)
	s += ' '
print(s)


import sys
from math import sqrt

def solve():
	(n, h) = map(int, input().split())
	ans = [0] * (n - 1)
	for i in range(1, n):
		ans[i - 1] = h * sqrt(i / n)
		ans[i - 1] = '{:.9f}'.format(ans[i - 1])
	print(*ans)
solve()


(n, h) = map(int, input().split())
unit = h * h / n
for i in range(1, n):
	print((unit * i) ** 0.5, end=' ')


from math import sqrt
[n, h] = list(map(int, input().split()))
for i in range(1, n):
	print(sqrt(i / n) * h, end=' ')


import math
(n, h) = map(int, input().strip().split())
area = h / (2 * n)
rezi = []
alfa = math.atan(2 * h)
spodnja = 1
visina = h
for _ in range(n - 1):
	m = 0
	M = visina
	while abs(M - m) > 10 ** (-10):
		sred = (M + m) / 2
		ploscina = spodnja * visina / 2
		d = sred / (2 * h)
		novi_a = spodnja - 2 * d
		novi_visina = visina - sred
		p2 = ploscina - novi_a * novi_visina / 2
		if p2 > area:
			M = sred
		else:
			m = sred
	rezi.append(sred)
	spodnja = novi_a
	visina = novi_visina
res = []
acc = 0
for e in rezi:
	acc += e
	res.append(h - acc)
res = res[::-1]
print(' '.join(map(str, res)))


import sys
read = lambda : sys.stdin.readline().rstrip()
readi = lambda : int(sys.stdin.readline())
writeln = lambda x: sys.stdout.write(str(x) + '\n')
write = lambda x: sys.stdout.write(x)
(n, h) = map(int, read().split())
for i in range(n - 1):
	write('%.12f ' % (((i + 1) / float(n)) ** 0.5 * h))


(n, h) = map(float, input().split(' '))
print(' '.join(['%.9f' % (((k + 1) / n) ** 0.5 * h) for k in range(int(n) - 1)]))


(b, a) = map(int, input().split())
for i in range(1, b):
	print(a * (i / b) ** 0.5, end=' ')
print()


(x, y) = map(int, input().split())
for i in range(1, x):
	print(y * (i / x) ** 0.5)


(n, h) = map(int, input().split())
from decimal import *
k = Decimal(1000000)
h = h * k
from math import sqrt
getcontext().prec = 50
C = Decimal(1) / Decimal(h)
Tot = Decimal(Decimal(h) / Decimal(2))
Part = Decimal(Tot / Decimal(n))
x1 = Decimal(sqrt(Decimal(2) * Decimal(Part) / C))
for i in range(0, n - 1):
	curAr = Decimal(Part * (i + 1))
	curX = Decimal(sqrt(Decimal(2) * Decimal(curAr) / C))
	print(curX / k)


(n, h) = map(int, input().split())
i = 1
b = []
while i < n:
	b.append(str(h * (i / n) ** (1 / 2)))
	i += 1
print(' '.join(b))


(N, H) = list(map(int, input().split()))
prev = 0.0
ans = []
for i in range(N - 1):
	now = pow((i + 1) / N, 0.5) * H
	ans.append('{:.20f}'.format(now - prev))
	now = prev
print(*ans)


import math
(n, h) = map(int, input().split())
ans = []
for i in range(1, n):
	ans.append(str(h * math.sqrt(i / n)))
print(' '.join(ans))


from sys import stdin, stdout
from decimal import Decimal

def rint():
	return list(map(int, stdin.readline().split()))
(n, h) = rint()
As = Decimal(h) / Decimal(2 * n)
x = []
for i in range(1, n):
	x.append(Decimal(i * As * 2 * h).sqrt())
print(*x)


(n, h) = map(int, input().split())
for x in range(1, n):
	print(h * (x / n) ** 0.5)


(n, h) = map(int, input().split())
one = h / (2 * n)
ans = []
for i in range(1, n):
	ans.append((one * i / (h / 2)) ** 0.5 * h)
print(*ans)


(n, _h) = map(int, input().split())
h = float(_h)
ans = [0.0] * n
for i in range(1, n):
	area = h / 2 * (i / n)
	(ok, ng) = (0.0, h)
	for _ in range(50):
		mid = (ok + ng) / 2
		if mid * (mid / h) / 2 <= area:
			ok = mid
		else:
			ng = mid
	ans[i] = ok
print(*ans[1:], sep=' ')


(n, h) = map(int, input().split())
rec = []
for i in range(1, n):
	rec.append(h * (i / n) ** 0.5)
print(*rec)


a = input()
b = a.split(' ')
c = float(b[1]) / float(b[0]) ** (1 / 2)
print(c)
for i in range(2, int(b[0])):
	print(i ** (1 / 2) * c)


import math
x = input().split(' ')
n = int(x[0])
h = int(x[1])
A = 1 * h / 2
a = A / n
passo = a
for i in range(n - 1):
	print(((h - 2 * (A - a)) * h) ** (1 / 2), end=' ')
	a += passo


(n, h) = input().strip().split(' ')
(n, h) = (int(n), int(h))
area = 0.5 * 0.5 * h
a = area / n
h1 = (4 * a * h) ** 0.5
list1 = [h1]
for i in range(n - 2):
	h2 = (h1 ** 2 + 4 * a * h) ** 0.5
	list1.append(h2)
	h1 = h2
print(*list1)


(n, h) = map(int, input().split())
h *= h
print(' '.join([str((h * i / n) ** 0.5) for i in range(1, n)]))


import math
(n, h) = map(int, input().split())
s = float(1) / 2 * h / n
for i in range(1, n):
	a = math.sqrt(i / n)
	print(s * i * 2 / a)


from math import sqrt
(n, h) = [int(element) for element in input().split(' ')]
answer = []
for i in range(1, n):
	answer.append(str(h * sqrt(i / n)))
print('\n'.join(answer))


from math import sqrt
(n, h) = map(int, input().split())
each = h / (2 * n)
for i in range(n - 1):
	ans = sqrt(2 * (i + 1) * each * h)
	print(ans, end=' ')


import math
(n, h) = map(int, input().split())
sqrt_n = math.sqrt(n)
for i in range(1, n):
	sqrt_i = math.sqrt(i)
	print(sqrt_i * sqrt_n * h / n, end=' ')


import math

def main():
	(chunk, h) = list(map(int, input().split()))
	for i in range(1, chunk):
		print(h * math.sqrt(i) / math.sqrt(chunk))
main()


import sys
import os
import math
import re
(n, h) = map(int, input().split())
for i in range(1, n):
	print(str(h * math.sqrt(i / n)) + ' ', end='')
print()


from math import sqrt
(n, h) = map(int, input().split())
h = h * 1.0
l = []
for i in range(0, 1500):
	l.append(sqrt(i))
area = sqrt(h * h / n)
for i in range(1, n):
	print(l[i] * area, end=' ')


(n, h) = input().split()
(n, h) = (int(n), int(h))
for i in range(1, n):
	a = i ** 0.5 / n ** 0.5 * h
	print('%.12f' % a)


(n, h) = map(int, input().split(' '))
a = 0
x = h ** 2 / n
for i in range(n - 1):
	a = (x + a ** 2) ** 0.5
	print(a)


(n, h) = map(int, input().split())
(a, s) = (h / (2 * n), 0)
for _ in range(n - 1):
	(l, r) = (0, h)
	for i in range(50):
		mid = (l + r) / 2
		x = mid / h
		if x * mid / 2 - s <= a:
			l = mid
		else:
			r = mid
	print(l, end=' ')
	x = l / h
	s = x * mid / 2


(n, h) = map(int, input().split())
ss = h / 2
H = [0] * n
for i in range(n):
	x = ss / n
	k = (x * (i + 1) / ss) ** (1 / 2)
	H[i] = x * (i + 1) / k * 2
for i in range(n - 1):
	print(H[i], end=' ')


(n, h) = map(int, input().split())
s = h / 2
p = s / n
b = 1
c = 0
t = 1 / (2 * h)
res = []
for i in range(n - 1):
	l = c
	r = h
	while r - l > 10 ** (-10):
		m = (l + r) / 2
		if (m - c) * (b - t * (m - c)) >= p:
			r = m
		else:
			l = m
	res.append(l)
	b -= 2 * t * (l - c)
	c = l
for i in range(n - 2, -1, -1):
	print(h - res[i], end=' ')


import sys
import math
(n, h) = map(int, input().split())
for i in range(n - 1):
	print('%f' % (h * math.sqrt((i + 1) / n)), end=' ')


R = lambda : map(int, input().split())
(n, h) = R()
c = h * h / n
prev = 0
for i in range(n - 1):
	curr = (c + prev ** 2) ** 0.5
	print(curr, end=' ')
	prev = curr


import math
import re
(n, h) = map(int, input().split())
s = h / n
a = [math.sqrt(i / n) * h for i in range(1, n)]
print(' '.join(map(str, a)))


import math
(n, h) = map(int, input().split())
a = 1 / 2 * h
ans = []
for i in range(1, n):
	ans.append(h * math.sqrt(i / n))
print(*ans)


import math
fstline = list(map(float, input().split(' ')))
(n, h, i, ans) = (fstline[0], fstline[1], 1, '')
while i < n:
	ans += str(math.sqrt(i / n) * h) + ' '
	i += 1
print(ans[:-1])


from math import sqrt as s
t = input().split(' ')
n = int(t[0])
h = int(t[1])
for i in range(1, n):
	print(s(i * h * h / n))


import math
(n, h) = map(int, input().split())
base = 1 / n
prev = base
print(h * math.sqrt(prev), end=' ')
for x in range(n - 2):
	curr = prev + base
	print(h * math.sqrt(curr), end=' ')
	prev = curr


import sys
import os
import math
(n, h) = map(int, input().split())
X = []
for i in range(1, n):
	c = math.sqrt(i / n) * h
	X.append(c)
print(*X)


import math
(n, h) = [int(i) for i in input().split()]
pp = h / 2
przydzial = pp / n
z = math.sqrt(2 * przydzial * h)
for i in range(n - 1):
	print(math.sqrt(2 * przydzial * (i + 1) * h), end=' ')


import sys
from math import sqrt

def main():
	(n, h) = list(map(int, sys.stdin.readline().split()))
	sn = sqrt(n)
	result = []
	for i in range(n - 1):
		result.append(sqrt(i + 1) * h / sn)
	sys.stdout.write(' '.join(map(str, result)) + '\n')
main()


def calcula(A, H):
	h = H / 2
	passo = h / 2
	a = h / H * h / 2
	while abs(A - a) >= 1e-08:
		if a > A:
			h -= passo
			a = h / H * h / 2
		else:
			h += passo
			a = h / H * h / 2
		if passo <= 1e-08:
			break
		passo = passo / 2
	return h
x = input().split(' ')
n = int(x[0])
h = int(x[1])
A = 1 * h / 2
A = A / n
passo = A
for i in range(n - 1):
	print(str(calcula(A, h)) + ' ', end='')
	A += passo
print('')


(n, h) = map(int, input().split())
tmp1 = h * h / n
for i in range(1, n):
	print('%.10f' % (tmp1 * i) ** (1 / 2), end=' ')


import math
(n, h) = [float(x) for x in input().split()]
base = 1
ctgL = base / 2 / h
expectedArea = 1 * h / 2 / n
expectedArea = expectedArea / 2
new_base = base / 2
curr_height = h

def bin_search(new_base, min_height, max_height):
	try_height = (min_height + max_height) / 2
	area = (2 * new_base - try_height * ctgL) / 2 * try_height
	if abs(area - expectedArea) < 1e-09:
		return try_height
	elif area > expectedArea:
		return bin_search(new_base, min_height, try_height)
	else:
		return bin_search(new_base, try_height, max_height)

def calculate_new_base(old_base, height):
	return old_base - height * ctgL
cuts = []
for i in range(int(n) - 1):
	cut_height = bin_search(new_base, 0, curr_height)
	cuts.append(cut_height)
	new_base = calculate_new_base(new_base, cut_height)
	curr_height = curr_height - cut_height
cuts_sum = 0
to_print = []
for cut in cuts:
	cuts_sum += cut
	to_print.append(h - cuts_sum)
for x in reversed(to_print):
	print(x, end=' ')


import cmath
lineIn = input().split(' ')
numBun = int(lineIn[0])
heightCar = int(lineIn[1])
triA = heightCar / 2
AreaPer = triA / numBun
proportion = 1 / heightCar
prevHeights = 0
answer = []

def calcHeightTrapez(area, prevHeights):
	a = prevHeights * proportion
	d = a ** 2 - 4 * -area * (proportion / 2)
	sol1 = (-a + d ** (1 / 2)) / proportion
	return sol1

def calcIso(area):
	height = (area * 2 / proportion) ** (1 / 2)
	return height
prevHeights = calcIso(AreaPer)
answer.append(prevHeights)
for i in range(1, numBun - 1):
	prevHeights += calcHeightTrapez(AreaPer, prevHeights)
	answer.append(prevHeights)
print(' '.join(map(str, answer)))


from sys import stdin, stdout
import math

def target_X():
	(n, h) = map(float, stdin.readline().split())
	n = int(n)
	h = h / math.sqrt(n)
	for x in range(1, n):
		h1 = h * math.sqrt(x)
		print(h1, end=' ')
target_X()


import math
a = input()
x = [int(i) for i in a.split()]
number = x[0]
height = x[1]
output = ''
for i in range(1, number):
	if number == 1:
		print(math.sqrt(i / number) * height)
	else:
		output = output + str(math.sqrt(i / number) * height) + ' '
print(output)


import math
(n, h) = map(int, input().split())
s = h * h / n
for i in range(1, n):
	if i != 1:
		print(' ', end='')
	print(math.sqrt(s * i), end='')
print()


(n, h) = map(int, input().split())
ans = (n - 1) * [0]
for i in range(1, n):
	ans[i - 1] = (i / n) ** 0.5 * h
print(*ans)


(n, h) = map(int, input().split())
cuts = []
for i in range(n - 1, 0, -1):
	cuts.append((i / n * (h * h)) ** 0.5)
cuts.sort()
print(' '.join(list(map(str, cuts))))


from fractions import Fraction

def main():
	(n, H) = map(int, input().split())
	s = Fraction(H, 2 * n)
	h2 = []
	for m in range(1, n):
		S = s * m
		h2.append(S * 2 * H)
	for x in h2:
		print('{:.12f}'.format(x ** 0.5), end=' ')

def __starting_point():
	main()
__starting_point()


(n, h) = map(int, input().split())

def f(x):
	return x / h

def integrate(a, b):
	return (b * b - a * a) / (2 * h)
s = h / (2 * n)
prev = 0
ans = []
while len(ans) < n - 1:
	x1 = prev
	l = prev
	r = 1000000
	while r - l > 1e-09:
		m = (r + l) * 0.5
		bad = integrate(prev, m) < s
		if bad:
			l = m
		else:
			r = m
	prev = (r + l) * 0.5
	ans.append(prev)
print(' '.join([str(x) for x in ans]))


import math
x = input()
x = x.split(' ')
n = int(x[0])
h = int(x[1])
area = h / 2
want = area / n
n_want = 0
while n > 1:
	n -= 1
	n_want += want
	ratio = area / n_want
	ratio = math.sqrt(ratio)
	print(h / ratio, end=' ')


import sys
import math
from collections import defaultdict, deque
import heapq
(n, h) = map(int, sys.stdin.readline().split())
cnt = 1
area = h / 2
ans = [0 for _ in range(n - 1)]
ind = 0
smallarea = area / n
while cnt < n:
	ans[ind] = math.sqrt(2 * smallarea * cnt / h) * h
	ind += 1
	cnt += 1
print(*ans)


import math
(N, H) = map(int, input().split())
ret = []
for n in range(1, N):
	ret.append(H * math.sqrt(n / N))
for i in range(len(ret)):
	if i == 0:
		print('{:.15f}'.format(ret[i]), end='')
	else:
		print(' {:.15f}'.format(ret[i]), end='')


L = input()
L = L.split()
n = int(L[0])
h = int(L[1])
b = 1
alturas = []
ar = b * h / 2
area = ar / n
haux = 0
baux = 0
aux = 0
for k in range(n - 1):
	if k == 0:
		haux = (area * 2 * h) ** (1 / 2)
		alturas.append(haux)
		auxh = haux
	else:
		haux = (area * 2 * h + auxh ** 2) ** (1 / 2)
		auxh = haux
		alturas.append(haux)
c = str(alturas[0])
for k in range(1, n - 1):
	c += ' ' + str(alturas[k])
print(c)


import sys
import math
import itertools
import collections

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(map(int, input().split()))

def lcm(a, b):
	return abs(a * b) // math.gcd(a, b)

def wr(arr):
	return ' '.join(map(str, arr))

def revn(n):
	return str(n)[::-1]

def dd():
	return collections.defaultdict(int)

def ddl():
	return collections.defaultdict(list)

def sieve(n):
	if n < 2:
		return list()
	prime = [True for _ in range(n + 1)]
	p = 3
	while p * p <= n:
		if prime[p]:
			for i in range(p * 2, n + 1, p):
				prime[i] = False
		p += 2
	r = [2]
	for p in range(3, n + 1, 2):
		if prime[p]:
			r.append(p)
	return r

def divs(n, start=1):
	r = []
	for i in range(start, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n / i == i:
				r.append(i)
			else:
				r.extend([i, n // i])
	return r

def divn(n, primes):
	divs_number = 1
	for i in primes:
		if n == 1:
			return divs_number
		t = 1
		while n % i == 0:
			t += 1
			n //= i
		divs_number *= t

def prime(n):
	if n == 2:
		return True
	if n % 2 == 0 or n <= 1:
		return False
	sqr = int(math.sqrt(n)) + 1
	for d in range(3, sqr, 2):
		if n % d == 0:
			return False
	return True

def convn(number, base):
	newnumber = 0
	while number > 0:
		newnumber += number % base
		number //= base
	return newnumber

def cdiv(n, k):
	return n // k + (n % k != 0)
(n, h) = mi()
ans = []
for i in range(n - 1):
	ans.append(h * math.sqrt((i + 1) / n))
print(wr(ans))


(n, h) = map(int, input().split())
cur = h
s = h / (2 * n)
h = [h]

def sz(a):
	return (h[0] - a) / h[0]

def area(a, b):
	return (sz(a) + sz(b)) * abs(a - b) * (1 / 2)

def find(cur):
	(l, r) = (0, cur)
	for i in range(100):
		m = (l + r) / 2
		if area(cur, m) > s:
			l = m
		else:
			r = m
	print(h[0] - r)
	return r
for i in range(n - 1):
	cur = find(cur)


from math import sqrt
(n, h) = map(int, input().split())
x1 = h / sqrt(n)
print(' '.join([str(sqrt(i) * x1) for i in range(1, n)]))


from typing import List
from math import sqrt
INF = float('inf')
NINF = float('-inf')

def read_string():
	return input()

def read_string_line():
	return [x for x in input().split(' ')]

def read_int_line():
	return [int(x) for x in input().split(' ')]

def read_int():
	return int(input())

def get_int_arr(s):
	return [int(x) for x in s.split()]

def get_sum(acc, l, r):
	return acc[r] - acc[l]
P = int(1000000000.0 + 7)

def exgcd(x, y):
	if y == 0:
		return (x, 1, 0)
	(g, a, b) = exgcd(y, x % y)
	t = x // y
	return (g, b, a - t * b)

def inv(x):
	(g, a, b) = exgcd(x, P)
	return a

def calc_acc(arr):
	ans = [0]
	for a in arr:
		ans.append(a + ans[-1])
	return ans
lines: List[str] = [*open(0)]
(n, h) = get_int_arr(lines[0])
for i in range(1, n):
	print('%s%s' % ('' if i == 1 else ' ', sqrt(i * h * h / n)), end='')


from math import sqrt
(cut, height) = map(int, input().split())
for i in range(1, cut):
	print(sqrt(i / cut) * height, end=' ')


import math as mt
import sys, string, bisect
input = sys.stdin.readline
from collections import deque, defaultdict
L = lambda : list(map(int, input().split()))
Ls = lambda : list(input().split())
M = lambda : map(int, input().split())
I = lambda : int(input())

def dist(x, y, c, d):
	return mt.sqrt((x - c) ** 2 + (y - d) ** 2)

def circle(x1, y1, x2, y2, r1, r2):
	distSq = ((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)) ** 0.5
	if distSq + r2 <= r1:
		return True
	else:
		return False
(n, h) = M()
x = h / mt.sqrt(n)
l = []
l.append(x)
for i in range(1, n - 1):
	l.append(x * mt.sqrt(i + 1))
print(*l)


__author__ = 'Alexander'
import math

def Task(inp1):
	(n, h) = map(int, inp1.split())
	res = [0] * n
	res[0] = h
	for i in range(1, n):
		res[i] = math.sqrt((n - i) / (n - i + 1)) * res[i - 1]
	answer = sorted(res[1:])
	answer = [str(elem) for elem in answer]
	return answer

def Main():
	inp1 = input()
	outp = Task(inp1)
	print(' '.join(outp))

def Test():
	assert Task('2 100000') == '70710.678118654752'
	assert Task('3 2') == '1.154700538379 1.632993161855'
Main()


from math import sqrt
(n, h) = map(int, input().split())
result = []
for i in range(1, n):
	result.append(h * sqrt(i / n))
print(*result)


(n, h) = [int(i) for i in input().split()]
s = h / 2 / n
a = []
osp = 0
hp = 0
eps = 1e-09
for i in range(n - 1):
	l = eps
	r = h + eps
	while abs(l - r) > eps:
		cur = (l + r) / 2
		os = cur / h
		if (osp + os) / 2 * (cur - hp) > s:
			r = cur
		else:
			l = cur
	a.append(l)
	hp = l
	osp = l / h
print(*a)


import math
global H
(n, H) = (int(x) for x in input().split())

def get_l(h):
	return (H - h) / H

def s_trap(l1, l2, h):
	return (l1 + l2) / 2 * h

def get_new_h(l, h, s):
	min_h = 0
	max_h = h
	eps = 1e-07
	while max_h - min_h > eps:
		mid_h = (max_h + min_h) / 2
		mid_l = get_l(mid_h)
		mid_s = s_trap(1, mid_l, mid_h)
		if mid_s > s:
			max_h = mid_h
		else:
			min_h = mid_h
	return (min_h + max_h) / 2
l = 0
s = H / (2 * n)
h = H
list_of_h = []
while n > 1:
	n -= 1
	h = get_new_h(l, h, s * n)
	l = get_l(h)
	list_of_h.append(H - h)
print(*list_of_h)


from math import hypot
(n, h) = list(map(int, input().split()))
square = 0.5 * h
one = square / n
hyp = hypot(0.5, h)

def get_square(d):
	up = (1 - d) * 0.5
	return 2 * (up * h * d + (0.5 - up) * h * d / 2)
rez = []
_prev = 0
for i in range(n - 1):
	left = _prev
	right = 1
	for i in range(50):
		mid = (left + right) / 2
		if get_square(mid) - get_square(_prev) > one:
			right = mid
		else:
			left = mid
	_prev = left
	rez.append(h - left * h)
print(*reversed(rez))


import sys
import math
import bisect
from sys import stdin, stdout
from math import gcd, floor, sqrt, log2, ceil
from collections import defaultdict as dd
from bisect import bisect_left as bl, bisect_right as br
from collections import Counter
from collections import deque
from heapq import heappush, heappop, heapify
mod = int(1000000000.0) + 7
ip = lambda : int(stdin.readline())
inp = lambda : map(int, stdin.readline().split())
ips = lambda : stdin.readline().rstrip()
t = 1
for _ in range(t):
	(n, h) = map(int, input().split())
	area = h / 2
	den = n
	arr = []
	for i in range(1, n):
		req = area * (i / n)
		x = math.sqrt(req * 2 / h)
		ans = x * h
		arr.append(ans)
	print(*arr)


from math import sqrt
(n, h) = [int(x) for x in input().split()]
area = 1 * h / 2 / n
x = sqrt(2 * area / h)
res = [x * h]
cur_area = area
for i in range(2, n):
	cur_area += area
	x = sqrt(2 * cur_area / h)
	res.append(x * h)
print(res[0], end=' ')
for i in range(1, len(res)):
	print(' ' + str(res[i]), end='')
print()


import math
import sys

def trapezoid(top_angle, area, a):
	bot_angle = (math.pi - top_angle) / 2
	bot_side = (-a * math.sin(bot_angle) + math.sqrt((a * math.sin(bot_angle)) ** 2 + 4 * math.cos(bot_angle) * math.sin(bot_angle) * area)) / (2 * math.cos(bot_angle) * math.sin(bot_angle))
	return bot_side * math.sin(bot_angle)
(n, h) = [int(num) for num in input().split()]
triangle_area = 0.5 * h * 1
part_area = triangle_area / n
top_angle = 2 * math.atan(0.5 / h)
top_side = math.sqrt(2 * part_area / math.sin(top_angle))
top_height = top_side * math.cos(top_angle / 2)
top_low_side = 2 * math.sqrt(top_side ** 2 - top_height ** 2)
parts = []
parts.append(top_height)
h = top_height
s = ''
for i in range(0, n - 2):
	h_trap = top_height * math.sqrt(i + 2)
	parts.append(h_trap)
	h = h_trap
for i in range(0, len(parts)):
	print(parts[i])


import math
(n, h) = map(int, input().strip().split())
a = 0.5 * h
sa = a / n
b = 1
for i in range(n - 1):
	sh = math.sqrt((i + 1) * 2 * sa * h)
	print(sh, end='') if i == n - 2 else print(sh, end=' ')
print()


read = lambda : map(int, input().split())
(n, h) = read()
x = [0] * (n - 1)
x[0] = (h * h / n) ** 0.5
for i in range(1, n - 1):
	x[i] = (h * h / n + x[i - 1] ** 2) ** 0.5
print(*x)


import math
(n, h) = map(int, input().split())
pi = math.pi
s = pi * 0.5 * (h + (h * h + 0.25) ** 0.5)
o = s / n
l = []
for i in range(1, n):
	S = o * i
	l += [(2 * h * S / (((1 + 1 / (4 * h * h)) ** 0.5 + 1) * pi)) ** 0.5]
print(*l)


(n, h) = list(map(float, input().split(' ')))
print(' '.join(['%.12f' % (((k + 1) / n) ** 0.5 * h) for k in range(int(n) - 1)]))


from math import sqrt
nh = input().split(' ')
n = int(nh[0])
h = int(nh[1])
for i in range(1, n):
	print(sqrt(h * h * i / n), end=' ')


mas = list(map(int, input().split()))
n = mas[0]
h = mas[1]
lst = [str((i / n) ** 0.5 * h) for i in range(1, n)]
print(' '.join(lst))


import sys
input = sys.stdin.readline

def prog():
	(n, h) = map(int, input().split())
	for i in range(1, n):
		print(h / (n / i) ** 0.5)
prog()


import math
now = input().split()
n = int(now[0])
h = int(now[1])
print(math.sqrt(h * h / n), end='')
for x in range(2, n):
	print(end=' ')
	print(math.sqrt(h * h / n * x))


(n, h) = map(int, input().split())
cuts = []
for i in range(1, n, 1):
	cuts.append(h * (i / n) ** (1 / 2))
print(*cuts)


(n, h) = map(int, input().split())
for i in range(1, n):
	res = (i / n) ** (1 / 2) * h
	print(res, end=' ')


import math
[n, h] = list(map(int, input().split()))
tot = 0.5 * 1 * h
res = []
for i in range(1, n):
	y = math.sqrt(2 * h * tot / n * i)
	res.append(y)
print(' '.join(map(str, res)))


import math
(n, h) = map(int, input().split())
res = []
for i in range(1, n):
	x = h * math.sqrt(i / n)
	res.append(x)
print(*res)


(N, H) = map(int, input().split())
for i in range(1, N):
	print('%.10f' % (i ** 0.5 * H / N ** 0.5))


from math import sqrt
(n, h) = map(int, input().split())
hi = 0
A = h / 2
a = A / n
for i in range(1, n):
	hi = sqrt(2 * i * a * h)
	print(hi, end=' ')


(n, h) = map(int, input().split())
h_unit = h / n ** 0.5
results = [None] * (n - 1)
for i in range(n - 1):
	results[i] = h_unit * (i + 1) ** 0.5
print(' '.join(map(str, results)))


import math
(n, h) = map(int, input().split())

def calc_x(s):
	return math.sqrt(s / h) * h
req_s = h / n
for i in range(1, n):
	print(calc_x(req_s * i))


import math
(n, h) = map(int, input().split())
p = 0
h2n = h * h / n
for _ in range(n - 1):
	x = math.sqrt(h2n + p * p) - p
	p += x
	print(p, end=' ')


(n, H) = (int(x) for x in input().split())
list_of_h = [H * (i / n) ** 0.5 for i in range(1, n)]
print(*list_of_h)


import math
(n, h) = list(map(int, input().split()))
f = math.sqrt(n)
f = h / f
j = 0
for i in range(1, n):
	j = math.sqrt(i)
	print(j * f, end=' ')


(n, h) = map(int, input().split())
s = ''
for i in range(1, n):
	s += '%.6f ' % (i * h * h / n) ** 0.5
print(s)


import math
import sys
(n, h) = map(int, input().split())
for i in range(1, n):
	new_h = (h * h * i / n) ** 0.5
	print('%.12f' % new_h)


from sys import stdin, stdout
(n, h) = [int(x) for x in stdin.readline().split()]
for i in range(1, n):
	res = (i / n) ** 0.5 * h
	stdout.write(str(res))
	if i < n - 1:
		stdout.write(' ')
stdout.write('\n')


(n, h) = map(int, input().strip().split())
s = h / 2 / n
tg = h * 2
h1 = (s * tg) ** (1 / 2)
print(h1, end=' ')
for i in range(n - 2):
	x = h1 / tg * 2
	(l, r) = (h1, h)
	for j in range(1000):
		m = (l + r) / 2
		h2 = m - h1
		ss = (x + m / tg * 2) / 2 * h2
		if ss > s:
			r = m
		else:
			l = m
	h1 = (l + r) / 2
	print(h1, end=' ')