enum E { a, b }

class C
{
	static void M (E e)
	{
	}
	
	static int Test (int a)
	{
		return -1;
	}
	
	static int Test (E e)
	{
		return 1;
	}
	
	public static int Main ()
	{
		M ((uint) 0);
		M ((long) 0);
		M ((sbyte) 0);
		M ((ulong) 0);
		
		var d = E.b;
		if (Test (d - 0) != 1)
			return 1;
		
		if (Test (d - 1) != 1)
			return 2;

		if (Test (d + 0) != 1)
			return 3;

		if (Test (d + 1) != 1)
			return 4;
		
		return 0;
	}
}