#include <iostream>
using namespace std;
int sqrt(int x){
long long start, end, mid;
start=0;end=x;
if(x==1){return 1;}
mid = end;
while((end-start)>1){
mid = start + (end-start)/2;
cout << start << " " << end << " " << mid << " " << endl;
if(mid*mid==x){
return mid;
}
else if(mid*mid<x){
start=mid;
}
else{
end=mid;
}
}
if(mid*mid<x){return mid;}
else{return start;}
}
int main() {
// your code goes here
cout << sqrt(2147395599) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHNxcnQoaW50IHgpewogICAgICAgIGxvbmcgbG9uZyBzdGFydCwgZW5kLCBtaWQ7CiAgICAgICAgc3RhcnQ9MDtlbmQ9eDsKICAgICAgICBpZih4PT0xKXtyZXR1cm4gMTt9CiAgICAgICAgbWlkID0gZW5kOwogICAgICAgIHdoaWxlKChlbmQtc3RhcnQpPjEpewogICAgICAgICAgICBtaWQgPSBzdGFydCArIChlbmQtc3RhcnQpLzI7CiAgICAgICAgICAgIGNvdXQgPDwgc3RhcnQgPDwgIiAiIDw8IGVuZCA8PCAiICIgPDwgbWlkIDw8ICIgIiA8PCBlbmRsOyAKICAgICAgICAgICAgaWYobWlkKm1pZD09eCl7CiAgICAgICAgICAgICAgICByZXR1cm4gbWlkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYobWlkKm1pZDx4KXsKICAgICAgICAgICAgICAgIHN0YXJ0PW1pZDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgZW5kPW1pZDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihtaWQqbWlkPHgpe3JldHVybiBtaWQ7fQogICAgICAgIGVsc2V7cmV0dXJuIHN0YXJ0O30KICAgIH0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJY291dCA8PCBzcXJ0KDIxNDczOTU1OTkpIDw8IGVuZGw7CglyZXR1cm4gMDsKfQ==