//output should be 9 6 26 6 26 26 12 class C extends Object { static nat n; } class C1 extends C { static nat m; } class C2 extends C { static nat m; nat foo(nat unused) { n = n + m + 5; } C1 bar(nat unused) { null;} } main { C1 a; C2 b; a = new C1(); a.n = 5; a.m = 6; b = new C2(); b.n = b.n + 4; b.m = 12; printNat(a.n); //prints 9 printNat(a.m); //prints 6 printNat(b.foo(0)); //prints 26 printNat(b.bar(0).m); //prints 6 printNat(a.n); //prints 26 printNat(b.n); //prints 26 printNat(b.m); //prints 12 }