static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int[] numbers = { 1, 2, 3 };
			long expected__ = 12;

			return verifyCase(casenum__, expected__, new Cryptography().encrypt(numbers));
		}
		case 1: {
			int[] numbers = { 1, 3, 2, 1, 1, 3 };
			long expected__ = 36;

			return verifyCase(casenum__, expected__, new Cryptography().encrypt(numbers));
		}
		case 2: {
			int[] numbers = { 1000, 999, 998, 997, 996, 995 };
			long expected__ = 986074810223904000L;

			return verifyCase(casenum__, expected__, new Cryptography().encrypt(numbers));
		}
		case 3: {
			int[] numbers = { 1, 1, 1, 1 };
			long expected__ = 2;

			return verifyCase(casenum__, expected__, new Cryptography().encrypt(numbers));
		}

		// custom cases

		/*
		 * case 4: {
		 * int[] numbers = ;
		 * long expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * Cryptography().encrypt(numbers));
		 * }
		 */
		/*
		 * case 5: {
		 * int[] numbers = ;
		 * long expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * Cryptography().encrypt(numbers));
		 * }
		 */
		/*
		 * case 6: {
		 * int[] numbers = ;
		 * long expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * Cryptography().encrypt(numbers));
		 * }
		 */
		default:
			return -1;
		}
	}