#include <iostream>
#include <type_traits>
using namespace std;
struct FooNo {};
struct FooYes { int x; };
template <typename T, typename = int>
struct HasX : false_type { };
template <typename T>
struct HasX <T, decltype((void) T::x, 0)> : true_type { };
int main() {
cout << HasX<FooYes>::value << endl;
cout << HasX<FooNo>::value << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEZvb05vIHt9OwpzdHJ1Y3QgRm9vWWVzIHsgaW50IHg7IH07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBpbnQ+CnN0cnVjdCBIYXNYIDogZmFsc2VfdHlwZSB7IH07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kc3RydWN0IEhhc1ggPFQsIGRlY2x0eXBlKCh2b2lkKSBUOjp4LCAwKT4gOiB0cnVlX3R5cGUgeyB9OwoKaW50IG1haW4oKSB7CiAgICBjb3V0IDw8IEhhc1g8Rm9vWWVzPjo6dmFsdWUgPDwgZW5kbDsKICAgIGNvdXQgPDwgSGFzWDxGb29Obz46OnZhbHVlIDw8IGVuZGw7Cn0=