interface a <t> { void x (); }

interface b <t> : a <t> {}

class kv <k,v> {} // type t

interface c <k,v>: b <kv<k,v>>,  // b <t>
                   a <kv<k,v>>    // a <t>
{}

class m <k,v> : c <k,v>,
                b <kv<k,v>> // b <t>
{
        void a <kv <k,v>>.x () {} // a<t>.x ()
}

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