#include <type_traits>
template<typename T>
typename std::enable_if<std::is_floating_point<T>::value, bool>::type isnan(T const val)
{
T volatile const temp = val;
return temp != val;
}
#include <cmath>
#include <iostream>
int main()
{
std::cout << isnan(NAN);
}
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19mbG9hdGluZ19wb2ludDxUPjo6dmFsdWUsIGJvb2w+Ojp0eXBlIGlzbmFuKFQgY29uc3QgdmFsKQp7CiAgICBUIHZvbGF0aWxlIGNvbnN0IHRlbXAgPSB2YWw7CiAgICByZXR1cm4gdGVtcCAhPSB2YWw7Cn0KCiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICAgICAgc3RkOjpjb3V0IDw8IGlzbmFuKE5BTik7Cn0=