--- /dev/null
+public class A {
+int ax;
+
+//A( ) {
+//System.out.println("SUPER AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n");
+//ax=0;}
+
+
+void m1( ) {ax = 1;
+// System.out.println("In A.m1: "+ax);
+ }
+void m2( ) {ax = 2;
+// System.out.println("In A.m2: "+ax);
+ }
+}
+
--- /dev/null
+public class AA
+{
+public void f() {
+ int x = 1;
+}
+public static void main(String[] s) {
+AA a;
+DD d = new DD();
+EE e = new EE();
+int x = 1;
+
+if (x==1)
+ a=d;
+else
+ a=e;
+a.f();
+}
+}
--- /dev/null
+class B extends A {
+int bx;
+
+void m1( ) {ax = 10; bx=1;
+ // System.out.println("In B.m1: "+ax);
+ }
+}
+
--- /dev/null
+public class BB extends AA
+{
+public void f() {
+ int x = 2;
+ GG g = new GG();
+}
+}
--- /dev/null
+class C extends A {
+int cx;
+void m1( ) {ax = 100; cx=1;
+}
+public static void main(String[] s) {
+ A a;
+ B b = new B();
+ a=b;
+ b.m1();
+ b.m2();
+
+// System.out.println("Hello World"));
+// System.out.println("C: "+ ax +"; B: "+b.ax +"; A: "+a.ax);
+ }
+}
+
--- /dev/null
+import D;
+class C2 extends A {
+int cx;
+void m1( ) {ax = 100; cx=1;
+//D d = new D();
+}
+public static void main(String[] s) {
+ A a;
+ B b;
+ int i=1;
+if (i==1)
+ a = new A();
+else
+ a = new D();
+
+ a.m1();
+ a.m2();
+ }
+}
+
--- /dev/null
+public class CC extends AA
+{
+public void f() {
+ int x = 3;
+}
+}
--- /dev/null
+class D extends A {
+int ax = 133;
+
+void m1( ) {ax = ax + 10;
+ // System.out.println("In D.m1: "+ax);
+ }
+B m3( ) {
+B b = new B();
+b.bx++;
+return b;
+}
+}
--- /dev/null
+public class DD extends CC
+{
+public void f2() {
+ int x = 4;
+}
+}
--- /dev/null
+public class EE extends CC
+{
+public void f2() {
+ int x = 6;
+}
+}
--- /dev/null
+public class GG extends BB
+{
+public void f() {
+ int x = 5;
+}
+}
--- /dev/null
+class Howdy {
+
+public static void main(String[] s) {
+ System.out.println("Howdy yall");
+ }
+}
+