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: competition

Starter code:

Solutions:
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 = map(int, input().split(' '))

for i in range(1, n):
    r = h*sqrt(i/n)
    print(str(r), end=" ")

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

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
n, h = map(int, input().split())
s = []
for i in range(1,n):
    s.append(h*sqrt(i/n))
print(*s)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
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="")
        


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())

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 = list(map(int, input().split()))
ans = []
for i in range(1, n):
   ans.append((i / n)**0.5 * h)

print(' '.join(map(str, ans)))


from math import sqrt
n,h=map(int,input().split())
h = h*1.00
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=" ")



#!/usr/bin/env python3
from sys import stdin, stdout
from decimal import Decimal

def rint():
    return list(map(int, stdin.readline().split()))
#lines = stdin.readlines()

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)


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
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()



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()

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


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)

    print(*ans)

def __starting_point():
    solve()
__starting_point()

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()

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


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 = " " )

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 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-9):
        return try_height
    else:
        if 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)
    # print(cut_height)
    cuts.append(cut_height)
    new_base = calculate_new_base(new_base,cut_height)
    curr_height = curr_height - cut_height
    # print(new_base, curr_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=" ")


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


# -*- coding: utf-8 -*-

import sys
import os
import math

# input_text_path = __file__.replace('.py', '.txt')
# fd = os.open(input_text_path, os.O_RDONLY)
# os.dup2(fd, sys.stdin.fileno())

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

X = []
for i in range(1, n):
    c = math.sqrt(i / n) * h
    X.append(c)

print(*X)