struct Node;
using ValueType = int;
union d_type
{
struct
{
Node *_lhs, *_rhs;
} _ptrpair;
ValueType _val;
d_type() noexcept = default;
d_type(const d_type&) noexcept = default;
d_type(d_type&&) noexcept = default;
d_type& operator=(const d_type&) noexcept = default;
d_type& operator=(d_type&&) noexcept = default;
~d_type() noexcept = default;
d_type(const ValueType& v) noexcept
{
_val = v;
}
d_type(Node* lhs, Node* rhs) noexcept
{
_ptrpair = { lhs, rhs };
}
};
d_type a{ nullptr, nullptr };
d_type b{ 0 };
int main(){}
c3RydWN0IE5vZGU7CnVzaW5nIFZhbHVlVHlwZSA9IGludDsKCnVuaW9uIGRfdHlwZQp7CiAgICBzdHJ1Y3QKICAgIHsKICAgICAgICBOb2RlICpfbGhzLCAqX3JoczsKICAgIH0gX3B0cnBhaXI7CiAgICBWYWx1ZVR5cGUgX3ZhbDsKCiAgICBkX3R5cGUoKSBub2V4Y2VwdCA9IGRlZmF1bHQ7CiAgICBkX3R5cGUoY29uc3QgZF90eXBlJikgbm9leGNlcHQgPSBkZWZhdWx0OwogICAgZF90eXBlKGRfdHlwZSYmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7CiAgICBkX3R5cGUmIG9wZXJhdG9yPShjb25zdCBkX3R5cGUmKSBub2V4Y2VwdCA9IGRlZmF1bHQ7CiAgICBkX3R5cGUmIG9wZXJhdG9yPShkX3R5cGUmJikgbm9leGNlcHQgPSBkZWZhdWx0OwogICAgfmRfdHlwZSgpIG5vZXhjZXB0ID0gZGVmYXVsdDsKCiAgICBkX3R5cGUoY29uc3QgVmFsdWVUeXBlJiB2KSBub2V4Y2VwdAogICAgewogICAgICAgIF92YWwgPSB2OwogICAgfQogICAgZF90eXBlKE5vZGUqIGxocywgTm9kZSogcmhzKSBub2V4Y2VwdAogICAgewogICAgICAgIF9wdHJwYWlyID0geyBsaHMsIHJocyB9OwogICAgfQp9OwoKZF90eXBlIGF7IG51bGxwdHIsIG51bGxwdHIgfTsKZF90eXBlIGJ7IDAgfTsKaW50IG1haW4oKXt9