3rd problem
// 3rd problem
#include <iostream>
using namespace std;
float squareRoot(int num, int prec)
{
int st = 0, end = num;
int mid;
float ans;
while (st <= end) {
mid = (st + end) / 2;
if (mid * mid == num) {
ans = mid;
break;
}
if (mid * mid < num) {
st = mid + 1;
ans = mid;
}
else {
end = mid - 1;
}
}
float inc = 0.1;
for (int i = 0; i < prec; i++) {
while (ans * ans <= num) {
ans += inc;
}
ans = ans - inc;
inc = inc / 10;
}
return ans;
}
int main()
{
int n;
cin>>n;
double ans = squareRoot(n,3);
cout<<ans<<endl;
return 0;
}