Problem: Create a program that outputs the surface area S of a square cone with a height of h, with a square with one side x as the base. However, assume that the line segment connecting the apex and the center of the base is orthogonal to the base. Also, x and h are positive integers less than or equal to 100.

Input

Given multiple datasets. Each dataset is given in the following format:


x
h


When both x and h are 0, it indicates the end of input.



Output

Output S (real number) on one line for each data set. The output may contain an error of 0.00001 or less.

Example

Input

6
4
7
9
0
0


Output

96.000000
184.192455

Solution (in PYTHON3):

Solution:
# -*- coding: utf-8 -*-
"""
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0073

"""
import sys
from sys import stdin
input = stdin.readline


def solve(x, h):
    ans = x * x                 #  ?????¨?????¢???

    diagonal = (x**2 + x**2)**0.5 / 2   #  ?????????????????¢????????´????????????????????????????§??????§????????¢
    oblique = (diagonal**2 + h**2)**0.5 #  ????§???¢?????????
    # ??????????????¬???
    s = (x + oblique + oblique) / 2
    triangle = (s * (s - x) * (s - oblique) * (s - oblique))**0.5 #  ????§???¢ 1????????¢???
    
    triangle *= 4               #  ????§??????????????§???¢???4??¢???????????§?????¨??¨?????¢???????¨????
    ans += triangle
    return ans


def main(args):
    while True:
        x = int(input())
        h = int(input())
        if x == 0 and h == 0:
            break
        result = solve(x, h)
        print('{:.6f}'.format(result))


if __name__ == '__main__':
    main(sys.argv[1:])