abstract class I {
	abstract void m();
}

class A extends I {
	public void m() { System.out.print("A"); }
}

class B extends A {
	public void m() { System.out.print("B"); }
}

class C extends B {
	public void m() { System.out.print("C"); }
}

class X extends I {
	public void m() { System.out.print("X"); }
}


class M {
	public static void main(String args[]){
		I[] i = {new A(), new B(), new C(), new X()};

		for (int c = 0; c < 4; c++)
			i[c].m();	
	}
}
	
