// passing on parameters to superclass's constructor

class A0 {
	private int k;
	A0 (int p) {k=p;}
	public void h() {System.out.println("A0::h " + k);}
}

class A extends A0 {
	private int i;
	A (int x, int m) { super (m); i=x;}
	public void f() {System.out.println("A::f " + i);}
}
class B extends A {
	private int j;
	B(int y, int x, int l) {
		super (x, l); // first statement in constructor
	 	j=y;
	}
	public void g() {System.out.println("B::g " + j);}
}

class SuperConstructor {
	public static void main (String args[]) {
		B b = new B(10, 20, 30);
		b.f();
		b.g();
		b.h();
	}
}

