using System;

class DerivedGenericClass<T> : BaseClass
{
        public override void Foo () {}

        public void Baz ()
        {
                Foo ();
        }
}

abstract class BaseClass
{
        public abstract void Foo ();
}

class X
{
	public static void Main ()
	{
	}
}