void marker1() { return; } class A1 { public: int x; int y; }; class A2 { public: int x; int y; }; class A3 { public: int x; int y; }; class X : public A1, public A2 { public: int z; }; class L : public A1 { public: int z; }; class LV : public virtual A1 { public: int z; }; class M : public A2 { public: int w; }; class N : public L, public M { public: int r; }; class K : public A1 { public: int i; }; class KV : public virtual A1 { public: int i; }; class J : public K, public L { public: int j; }; class JV : public KV, public LV { public: int jv; }; class JVA1 : public KV, public LV, public A1 { public: int jva1; }; class JVA2 : public KV, public LV, public A2 { public: int jva2; }; class JVA1V : public KV, public LV, public virtual A1 { public: int jva1v; }; int main() { A1 a1; A2 a2; A3 a3; X x; L l; M m; N n; K k; J j; JV jv; JVA1 jva1; JVA2 jva2; JVA1V jva1v; int i; i += k.i + m.w + a1.x + a2.x + a3.x + x.z + l.z + n.r + j.j; marker1(); }