#include <iostream>
#include <typeinfo>
template<typename T>
auto print_all(T a)
{
std::cout << a << '\t' << typeid(a).name() << std::endl;
}
template<typename T, typename... T2>
auto print_all(T head, T2... tail)
{
std::cout << head << '\t' << typeid(head).name() << std::endl;
print_all(tail...);
}
int main() {
print_all(1,2,3,4.4,5.5f,'s',"Saitei");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgphdXRvIHByaW50X2FsbChUIGEpCnsKCXN0ZDo6Y291dCA8PCBhIDw8ICdcdCcgPDwgdHlwZWlkKGEpLm5hbWUoKSA8PCBzdGQ6OmVuZGw7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIFQyPgphdXRvIHByaW50X2FsbChUIGhlYWQsIFQyLi4uIHRhaWwpCnsKCXN0ZDo6Y291dCA8PCBoZWFkIDw8ICdcdCcgPDwgdHlwZWlkKGhlYWQpLm5hbWUoKSA8PCBzdGQ6OmVuZGw7CglwcmludF9hbGwodGFpbC4uLik7Cn0KCmludCBtYWluKCkgewoJcHJpbnRfYWxsKDEsMiwzLDQuNCw1LjVmLCdzJywiU2FpdGVpIik7CglyZXR1cm4gMDsKfQ==