using System;

class C
{
	public static void Main ()
	{
		G<C>.Foo ();
		G2<C>.Foo ();
	}
}

class G<T> where T : new ()
{
	public static void Foo ()
	{
		Console.WriteLine ((new T ()).GetType ().ToString ());
	}
}

class G2<T> where T : class, new ()
{
	public static void Foo ()
	{
		Console.WriteLine ((new T ()).GetType ().ToString ());
	}
}