class A { protected B b; public B get_b() { return b; } public void set_b(B new_b) { b = new_b; } A() { super(); } public A(B b) { super(); set_b(b); } public static A parse(java.io.InputStream in) throws ParseException { return new Parser(in)._A(); } public static A parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } public static void main(String[] args) throws Exception { A m = parse(System.in); System.out.println("parsed OK"); } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_b(this, b); b.universal_trv0(_v_); _v_.after_b(this, b); universal_trv0_aft(_v_); } } class B { protected C c; public C get_c() { return c; } public void set_c(C new_c) { c = new_c; } protected D d; public D get_d() { return d; } public void set_d(D new_d) { d = new_d; } protected E e; public E get_e() { return e; } public void set_e(E new_e) { e = new_e; } protected F f; public F get_f() { return f; } public void set_f(F new_f) { f = new_f; } B() { super(); } public B(C c, D d, E e, F f) { super(); set_c(c); set_d(d); set_e(e); set_f(f); } public static B parse(java.io.InputStream in) throws ParseException { return new Parser(in)._B(); } public static B parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_c(this, c); c.universal_trv0(_v_); _v_.after_c(this, c); _v_.before_d(this, d); d.universal_trv0(_v_); _v_.after_d(this, d); _v_.before_e(this, e); e.universal_trv0(_v_); _v_.after_e(this, e); _v_.before_f(this, f); f.universal_trv0(_v_); _v_.after_f(this, f); universal_trv0_aft(_v_); } } class C { public C() { super(); } public static C parse(java.io.InputStream in) throws ParseException { return new Parser(in)._C(); } public static C parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); universal_trv0_aft(_v_); } } class D { protected G g; public G get_g() { return g; } public void set_g(G new_g) { g = new_g; } protected H h; public H get_h() { return h; } public void set_h(H new_h) { h = new_h; } protected A a; public A get_a() { return a; } public void set_a(A new_a) { a = new_a; } D() { super(); } public D(G g, H h, A a) { super(); set_g(g); set_h(h); set_a(a); } public static D parse(java.io.InputStream in) throws ParseException { return new Parser(in)._D(); } public static D parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_g(this, g); g.universal_trv0(_v_); _v_.after_g(this, g); _v_.before_h(this, h); h.universal_trv0(_v_); _v_.after_h(this, h); _v_.before_a(this, a); a.universal_trv0(_v_); _v_.after_a(this, a); universal_trv0_aft(_v_); } } class E { protected F f; public F get_f() { return f; } public void set_f(F new_f) { f = new_f; } E() { super(); } public E(F f) { super(); set_f(f); } public static E parse(java.io.InputStream in) throws ParseException { return new Parser(in)._E(); } public static E parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_f(this, f); f.universal_trv0(_v_); _v_.after_f(this, f); universal_trv0_aft(_v_); } } class F { public F() { super(); } public static F parse(java.io.InputStream in) throws ParseException { return new Parser(in)._F(); } public static F parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); universal_trv0_aft(_v_); } } class G { public G() { super(); } public static G parse(java.io.InputStream in) throws ParseException { return new Parser(in)._G(); } public static G parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); universal_trv0_aft(_v_); } } class H { protected D d; public D get_d() { return d; } public void set_d(D new_d) { d = new_d; } H() { super(); } public H(D d) { super(); set_d(d); } public static H parse(java.io.InputStream in) throws ParseException { return new Parser(in)._H(); } public static H parse(String s) { try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } void universal_trv0_bef(UniversalVisitor _v_) { _v_.before(this); } void universal_trv0_aft(UniversalVisitor _v_) { _v_.after(this); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); _v_.before_d(this, d); d.universal_trv0(_v_); _v_.after_d(this, d); universal_trv0_aft(_v_); } }