struct A {
template<typename ... Args>
A(const char * fmt, Args&& ... args) {
printf(fmt,std::forward<Args>(args) ...);
};
};
struct B: public A {
template<typename ... Args>
B(const char * fmt, Args&& ... args) : A(fmt, std::forward<Args>(args) ...) {}
};