#include <iostream>
#include <type_traits>
template<typename T, typename...> struct require { using type = T; };
template<typename... Args> void ignore(Args const &...){}
template<typename... Ints>
auto f(Ints... x) -> typename require<void, typename std::enable_if<std::is_convertible<Ints, int>::value>::type...>::type
{
ignore((std::cout << x << std::endl)...);
}
int main()
{
f(1);
f(2, 3);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLj4gc3RydWN0IHJlcXVpcmUgeyB1c2luZyB0eXBlID0gVDsgfTsKdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gdm9pZCBpZ25vcmUoQXJncyBjb25zdCAmLi4uKXt9Cgp0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBJbnRzPgphdXRvIGYoSW50cy4uLiB4KSAtPiB0eXBlbmFtZSByZXF1aXJlPHZvaWQsIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfY29udmVydGlibGU8SW50cywgaW50Pjo6dmFsdWU+Ojp0eXBlLi4uPjo6dHlwZQp7CglpZ25vcmUoKHN0ZDo6Y291dCA8PCB4IDw8IHN0ZDo6ZW5kbCkuLi4pOwp9CgppbnQgbWFpbigpCnsKCWYoMSk7CglmKDIsIDMpOwp9Cg==