public interface IFoo
{
	int GetHashCode ();
}

public interface IFoo<T>
{
	int GetHashCode ();
}

public class Test<T>
{
	public int Foo (IFoo<T> foo)
	{
		return foo.GetHashCode ();
	}

	public int Foo (IFoo foo)
	{
		return foo.GetHashCode ();
	}
}

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