class A<T>
{
	void Foo (B<T>.E arg)
	{
	}
}

class B<U> : B
{
}

class B
{
	public class E
	{
	}
}

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