#660. 计算 sqrt

计算 sqrt

No submission language available for this problem.

Background

工程中所用到的数学,大多数时候,需要的是一个精度值,即在某个误差范围内的结果即可。获得一个精度值在算法上或许不必那么苛刻。本题可运用二分来实现 sqrt 的计算。

Description

math.h (cmath) 头文件中,有个很方便的开方函数 sqrt 。开方是平方的逆运算,即 x*x = y, x = sqrt(y),这里将 x 称为 y 的一个平方根。现如今,是否可以不使用 math.h 中的 sqrt 函数,来计算 n 的平方根呢?

Format

Input

一行一个整数 n

Output

输出 n 的实数平方根,若存在,输出非负平方根,并保留 5 位小数即可,若不存在,输出 -1。

Samples

4
2.00000
2
1.41421

Limitation

108n108-10^8 \leq n \leq 10^8