static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int M = 4;
			int[] L = { 1, 2, 3 };
			int[] R = { 1, 2, 3 };
			int expected__ = 8;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndIntervalsDiv2().getNumber(M, L, R));
		}
		case 1: {
			int M = 3;
			int[] L = { 1, 1, 2 };
			int[] R = { 3, 1, 3 };
			int expected__ = 4;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndIntervalsDiv2().getNumber(M, L, R));
		}
		case 2: {
			int M = 100;
			int[] L = { 47 };
			int[] R = { 74 };
			int expected__ = 2;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndIntervalsDiv2().getNumber(M, L, R));
		}
		case 3: {
			int M = 100;
			int[] L = { 10, 20, 50 };
			int[] R = { 20, 50, 100 };
			int expected__ = 8;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndIntervalsDiv2().getNumber(M, L, R));
		}
		case 4: {
			int M = 42;
			int[] L = { 5, 23, 4, 1, 15, 2, 22, 26, 13, 16 };
			int[] R = { 30, 41, 17, 1, 21, 6, 28, 30, 15, 19 };
			int expected__ = 512;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndIntervalsDiv2().getNumber(M, L, R));
		}

		// custom cases

		/*
		 * case 5: { int M = ; int[] L = ; int[] R = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndIntervalsDiv2().getNumber(M, L, R)); }
		 */
		/*
		 * case 6: { int M = ; int[] L = ; int[] R = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndIntervalsDiv2().getNumber(M, L, R)); }
		 */
		/*
		 * case 7: { int M = ; int[] L = ; int[] R = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndIntervalsDiv2().getNumber(M, L, R)); }
		 */
		default:
			return -1;
		}
	}