struct A{
private: int b;
private: A() : b(0) {}
private: A(int c) : b(c) {}
protected: static A make_A(int c) {return A(c);}
};
struct C : public A {
C() : A(make_A(4)) {}
};
int main() {
C d;
}
c3RydWN0IEF7CnByaXZhdGU6IGludCBiOwpwcml2YXRlOiBBKCkgOiBiKDApIHt9CnByaXZhdGU6IEEoaW50IGMpIDogYihjKSB7fQpwcm90ZWN0ZWQ6IHN0YXRpYyBBIG1ha2VfQShpbnQgYykge3JldHVybiBBKGMpO30KfTsKCnN0cnVjdCBDIDogcHVibGljIEEgewogICAgIEMoKSA6IEEobWFrZV9BKDQpKSB7fQp9OwoKaW50IG1haW4oKSB7CiAgICBDIGQ7Cn0=