#include <iostream>
struct A {
A() { std::cout << "A()" << std::endl; }
A(int i) { std::cout << i << std::endl; }
};
struct B : virtual A {
B() : A(42) {}
};
struct C : public B {
C() : B() {}
};
int main(void) {
C c;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnN0cnVjdCBBIHsKIEEoKSB7IHN0ZDo6Y291dCA8PCAiQSgpIiA8PCBzdGQ6OmVuZGw7IH0KIEEoaW50IGkpIHsgc3RkOjpjb3V0IDw8IGkgPDwgc3RkOjplbmRsOyB9Cn07CgpzdHJ1Y3QgQiA6IHZpcnR1YWwgQSB7CiBCKCkgOiBBKDQyKSB7fQp9OwoKc3RydWN0IEMgOiBwdWJsaWMgQiB7CiBDKCkgOiBCKCkge30KfTsKCmludCBtYWluKHZvaWQpIHsKIEMgYzsKfQ==