// test008 
package p1.p2.test;
import java.io.Serializable;
import java.io.IOException;
public abstract/*  */class A
		extends
			p1.p2.pfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfppffp.A
		implements
			Runnable,
			Cloneable,
			Serializable,
			Toto,
			Titi,
			Tata {
}