#include <iostream>
#include <type_traits>
#include <typeinfo>
using namespace std;
template <typename T>
decltype(T(), declval<bool>()) isConstructable() { return true; }
int main() {
cout << typeid(isConstructable<int>()).name() << ' ' << is_rvalue_reference<decltype(isConstructable<int>())>::value << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CiNpbmNsdWRlIDx0eXBlaW5mbz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KZGVjbHR5cGUoVCgpLCBkZWNsdmFsPGJvb2w+KCkpIGlzQ29uc3RydWN0YWJsZSgpIHsgcmV0dXJuIHRydWU7IH0KCmludCBtYWluKCkgewoJY291dCA8PCB0eXBlaWQoaXNDb25zdHJ1Y3RhYmxlPGludD4oKSkubmFtZSgpIDw8ICcgJyA8PCBpc19ydmFsdWVfcmVmZXJlbmNlPGRlY2x0eXBlKGlzQ29uc3RydWN0YWJsZTxpbnQ+KCkpPjo6dmFsdWUgPDwgZW5kbDsKfQ==