class A { int incr(int i){return i=i+1;} }; class B extends A { int incr(int i){return i=i+2;} }; class C extends B { int incr(int i){return i=i+3;} }; class Incr { int add(int n,A o){ int res=0; int i=0; while (i<=n){ res=res+i; i=o.incr(i); } return res; }; };