using System;

class C<T>
{
}

class A
{
	public static void Main ()
	{
		M1 ((int[][] arg) => { });
		M2 ((C<short>[] arg) => { });
		M3 ((C<short[]>[] arg) => { });
	}

	static void M1<T> (Action<T[][]> arg)
	{
	}

	static void M2<T> (Action<C<T>[]> arg)
	{
	}

	static void M3<T> (Action<C<T[]>[]> arg)
	{
	}
}