#include <iostream>
//template <typename ... A>
//void foo(char a, A ... args);
template <typename T> void P(T x) { std::cout << x << ' '; }
void foo(char a) { P(3); P(a); }
template <typename ... A>
void foo(int a, A ... args)
{
foo(args...);
P(a);
}
template <typename ... A>
void foo(char a, A ... args)
{
P(a);
foo(args...);
}
int main()
{
foo('1', '2', 48, '4', '5');
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy90ZW1wbGF0ZSA8dHlwZW5hbWUgLi4uIEE+Ci8vdm9pZCBmb28oY2hhciBhLCBBIC4uLiBhcmdzKTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIFAoVCB4KSB7IHN0ZDo6Y291dCA8PCB4IDw8ICcgJzsgfQoKdm9pZCBmb28oY2hhciBhKSB7IFAoMyk7IFAoYSk7IH0KCnRlbXBsYXRlIDx0eXBlbmFtZSAuLi4gQT4Kdm9pZCBmb28oaW50IGEsIEEgLi4uIGFyZ3MpCnsKCWZvbyhhcmdzLi4uKTsKCVAoYSk7Cn0KCnRlbXBsYXRlIDx0eXBlbmFtZSAuLi4gQT4Kdm9pZCBmb28oY2hhciBhLCBBIC4uLiBhcmdzKQp7CglQKGEpOwoJZm9vKGFyZ3MuLi4pOwp9CgppbnQgbWFpbigpCnsKCWZvbygnMScsICcyJywgNDgsICc0JywgJzUnKTsKfQ==