static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int N = 1;
			int K = 1;
			long expected__ = 1;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndPermutationDiv2().getNumber(N, K));
		}
		case 1: {
			int N = 2;
			int K = 1;
			long expected__ = 4;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndPermutationDiv2().getNumber(N, K));
		}
		case 2: {
			int N = 3;
			int K = 8;
			long expected__ = 18;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndPermutationDiv2().getNumber(N, K));
		}
		case 3: {
			int N = 10;
			int K = 47;
			long expected__ = 13168189440000L;

			return verifyCase(casenum__, expected__,
					new LittleElephantAndPermutationDiv2().getNumber(N, K));
		}

		// custom cases

		/*
		 * case 4: { int N = ; int K = ; long expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndPermutationDiv2().getNumber(N, K)); }
		 */
		/*
		 * case 5: { int N = ; int K = ; long expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndPermutationDiv2().getNumber(N, K)); }
		 */
		/*
		 * case 6: { int N = ; int K = ; long expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * LittleElephantAndPermutationDiv2().getNumber(N, K)); }
		 */
		default:
			return -1;
		}
	}