#include <iostream>
#include <type_traits>
template<typename D, typename... Args>
struct get_value_int;
template<typename D>
struct get_value_int<D> : std::integral_constant<int, D::value> {};
template<typename D, typename T2, typename... Args>
struct get_value_int<D, T2, Args...> {
template<typename D2, typename T22, typename Enable = void>
struct impl
: std::integral_constant<int, get_value_int<D, Args...>::value> {};
template<typename D2, typename T22>
struct impl <D2, T22, std::enable_if_t<std::is_same<typename D2::type_id, typename T22::type_id>::value>>
: std::integral_constant<int, T22::value> {};
static constexpr const int value = impl<D, T2>::value;
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBELCB0eXBlbmFtZS4uLiBBcmdzPgpzdHJ1Y3QgZ2V0X3ZhbHVlX2ludDsKCnRlbXBsYXRlPHR5cGVuYW1lIEQ+CnN0cnVjdCBnZXRfdmFsdWVfaW50PEQ+IDogc3RkOjppbnRlZ3JhbF9jb25zdGFudDxpbnQsIEQ6OnZhbHVlPiB7fTsKCnRlbXBsYXRlPHR5cGVuYW1lIEQsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZS4uLiBBcmdzPgpzdHJ1Y3QgZ2V0X3ZhbHVlX2ludDxELCBUMiwgQXJncy4uLj4gewogICAgdGVtcGxhdGU8dHlwZW5hbWUgRDIsIHR5cGVuYW1lIFQyMiwgdHlwZW5hbWUgRW5hYmxlID0gdm9pZD4KICAgIHN0cnVjdCBpbXBsCiAgICAgICAgOiBzdGQ6OmludGVncmFsX2NvbnN0YW50PGludCwgZ2V0X3ZhbHVlX2ludDxELCBBcmdzLi4uPjo6dmFsdWU+IHt9OwoKICAgIHRlbXBsYXRlPHR5cGVuYW1lIEQyLCB0eXBlbmFtZSBUMjI+CiAgICBzdHJ1Y3QgaW1wbCA8RDIsIFQyMiwgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3NhbWU8dHlwZW5hbWUgRDI6OnR5cGVfaWQsIHR5cGVuYW1lIFQyMjo6dHlwZV9pZD46OnZhbHVlPj4KICAgICAgICA6IHN0ZDo6aW50ZWdyYWxfY29uc3RhbnQ8aW50LCBUMjI6OnZhbHVlPiB7fTsKCiAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGludCB2YWx1ZSA9IGltcGw8RCwgVDI+Ojp2YWx1ZTsKfTsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=