abstract class Wheeled {
    private int w_count;

    Wheeled ( int n )
    {
	w_count = n;
    }

    int get_W () 
    {
	return w_count;
    }

    void set_W (int n)
    {
	w_count = n;
    }

    abstract double current_speed ();

}


interface Moterized {

    double horse_P ();

}

interface Enclosed {
    
    double volume ();

}

class Cycle extends Wheeled implements Moterized {
    private double speed;
    
    Cycle()
    {
	super(2);
	speed = 1;
    }

    double current_speed ()
    {
	return speed;
    }

    public double horse_P ()
    {
	return 1;
    }

}

class Car extends Wheeled implements Moterized, Enclosed {
    private double speed;

    Car()
    {
	super( 4 );
	speed = 1;
    }

    double current_speed ()
    {
	return speed;
    }

    public double horse_P ()
    {
	return 10;
    }

    public double volume ()
    {
	return 12;
    }
}


public class Trans
{
    public static void main ( String []args )
    {
	Car ca1 = new Car();
	Car ca2;

	Cycle cl1 = new Cycle();
	Cycle cl2;

	Moterized m1;
	Enclosed e1;
	Wheeled w1;

	m1 = ca1;
	ca2 = (Car)m1;

	e1 = ca1;
	ca2 = (Car)ca1;
	
	w1 = ca1;
	ca2 = (Car)w1;

	m1 = cl1;
	cl2 = (Cycle)cl1;
	
	w1 = cl1;
	cl2 = (Cycle)w1;
	
    }

    
}

