#include <math.h>
#include <iostream>
#define dbg(x) do { volatile auto v = x; std::cout << #x << ": " << v << std::endl; } while (0)
template<typename T> long long to_ll(T x) {
volatile T y = x;
return (long long)y;
}
int main() {
volatile double x = 302500001100000001;
volatile long double y = 302500001100000001;
std::cout << std::fixed;
std::cout.precision(12);
dbg(x);
dbg(y);
dbg(sqrt(x));
dbg(sqrt(y));
dbg(to_ll(sqrt(x)));
dbg(to_ll(sqrt(y)));
dbg(sqrtl(x));
dbg(sqrtl(y));
dbg(to_ll(sqrtl(x)));
dbg(to_ll(sqrtl(y)));
return 0;
}
I2luY2x1ZGUgPG1hdGguaD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKI2RlZmluZSBkYmcoeCkgZG8geyB2b2xhdGlsZSBhdXRvIHYgPSB4OyBzdGQ6OmNvdXQgPDwgI3ggPDwgIjogIiA8PCB2IDw8IHN0ZDo6ZW5kbDsgfSB3aGlsZSAoMCkKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+IGxvbmcgbG9uZyB0b19sbChUIHgpIHsKICB2b2xhdGlsZSBUIHkgPSB4OwogIHJldHVybiAobG9uZyBsb25nKXk7Cn0KCmludCBtYWluKCkgewogIHZvbGF0aWxlIGRvdWJsZSB4ID0gMzAyNTAwMDAxMTAwMDAwMDAxOwogIHZvbGF0aWxlIGxvbmcgZG91YmxlIHkgPSAzMDI1MDAwMDExMDAwMDAwMDE7CiAgc3RkOjpjb3V0IDw8IHN0ZDo6Zml4ZWQ7CiAgc3RkOjpjb3V0LnByZWNpc2lvbigxMik7CiAgZGJnKHgpOwogIGRiZyh5KTsKICBkYmcoc3FydCh4KSk7CiAgZGJnKHNxcnQoeSkpOwogIGRiZyh0b19sbChzcXJ0KHgpKSk7CiAgZGJnKHRvX2xsKHNxcnQoeSkpKTsKICBkYmcoc3FydGwoeCkpOwogIGRiZyhzcXJ0bCh5KSk7CiAgZGJnKHRvX2xsKHNxcnRsKHgpKSk7CiAgZGJnKHRvX2xsKHNxcnRsKHkpKSk7CiAgcmV0dXJuIDA7Cn0K