#include <iostream>
#include <cmath>
using namespace std;
int main() {
long double x = 18446744073709551616.0L;
long double badFractional1 = x - (int)x;
long double badFractional2 = x - (long long)x;
long double badFractional3 = x - (unsigned long long)x;
long double integral, goodFractional = modf(x, &integral);
cout << "Value: " << x << endl;
cout << "Bad1: " << badFractional1 << endl;
cout << "Bad2: " << badFractional2 << endl;
cout << "Bad3: " << badFractional3 << endl;
cout << "Good: " << goodFractional << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWxvbmcgZG91YmxlIHggPSAxODQ0Njc0NDA3MzcwOTU1MTYxNi4wTDsKCQoJbG9uZyBkb3VibGUgYmFkRnJhY3Rpb25hbDEgPSB4IC0gKGludCl4OwoJbG9uZyBkb3VibGUgYmFkRnJhY3Rpb25hbDIgPSB4IC0gKGxvbmcgbG9uZyl4OwoJbG9uZyBkb3VibGUgYmFkRnJhY3Rpb25hbDMgPSB4IC0gKHVuc2lnbmVkIGxvbmcgbG9uZyl4OwoJCglsb25nIGRvdWJsZSBpbnRlZ3JhbCwgZ29vZEZyYWN0aW9uYWwgPSBtb2RmKHgsICZpbnRlZ3JhbCk7CgkKCWNvdXQgPDwgIlZhbHVlOiAiIDw8IHggPDwgZW5kbDsKCWNvdXQgPDwgIkJhZDE6ICIgPDwgYmFkRnJhY3Rpb25hbDEgPDwgZW5kbDsKCWNvdXQgPDwgIkJhZDI6ICIgPDwgYmFkRnJhY3Rpb25hbDIgPDwgZW5kbDsKCWNvdXQgPDwgIkJhZDM6ICIgPDwgYmFkRnJhY3Rpb25hbDMgPDwgZW5kbDsKCWNvdXQgPDwgIkdvb2Q6ICIgPDwgZ29vZEZyYWN0aW9uYWwgPDwgZW5kbDsKfQ==