class A {
    int a;
public:
    A(int aa): a(aa){}
};
class B: virtual public A {
    int b;
public:
    B(int aa, int bb): A(aa), b(b){}
};
class C: virtual public A {
    int c;
public:
    C(int aa, int cc): A(aa), c(cc) {}
};
class D: public B, public C {
    int d;
public:
    D(int aa, int bb, int cc, int dd)
        : A(aa), B(0, bb), C(1, cc), d(dd){}
};


D pokus(7, 8, 9, 10);

