#include <iostream>
using namespace std;
class C
{
public:
template<
typename T,
typename = typename std::enable_if<std::is_integral<T>::value>::type
>
C(T i) { std::cout << "integral" << std::endl; }
template<
typename T,
typename = typename std::enable_if<std::is_floating_point<T>::value>::type, typename ...Args
>
C(T f, Args...) { std::cout << "floating point" << std::endl; }
};
int main()
{
C a(1);
C b(1.0);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQwp7CnB1YmxpYzoKCiAgICB0ZW1wbGF0ZTwKICAgIAl0eXBlbmFtZSBULCAKICAgIAl0eXBlbmFtZSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfaW50ZWdyYWw8VD46OnZhbHVlPjo6dHlwZQogICAgPgogICAgQyhUIGkpIHsgc3RkOjpjb3V0IDw8ICJpbnRlZ3JhbCIgPDwgc3RkOjplbmRsOyB9CiAgICAKICAgIHRlbXBsYXRlPAogICAgCXR5cGVuYW1lIFQsIAogICAgCXR5cGVuYW1lID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19mbG9hdGluZ19wb2ludDxUPjo6dmFsdWU+Ojp0eXBlLCB0eXBlbmFtZSAuLi5BcmdzCiAgICA+CiAgICBDKFQgZiwgQXJncy4uLikgeyBzdGQ6OmNvdXQgPDwgImZsb2F0aW5nIHBvaW50IiA8PCBzdGQ6OmVuZGw7IH0KfTsKCmludCBtYWluKCkKewogICAgQyBhKDEpOwogICAgQyBiKDEuMCk7Cn0=