struct A { int a; struct A *next; }; struct B { int b; struct B *next; }; struct C { int c; struct C *next; }; struct D { A *a; B *b; C *c; struct D *next; }; struct E { char *name; struct E *next; }; struct F { D *d; E *e; struct F *next; };