static int runTestCase(int casenum) {
		switch (casenum) {
		case 0: {
			int n = 2;
			int minInv = 1;
			String minStr = "ab";
			String expected__ = "ba";

			return verifyCase(casenum, expected__, new StrIIRec().recovstr(n, minInv, minStr));
		}
		case 1: {
			int n = 9;
			int minInv = 1;
			String minStr = "efcdgab";
			String expected__ = "efcdgabhi";

			return verifyCase(casenum, expected__, new StrIIRec().recovstr(n, minInv, minStr));
		}
		case 2: {
			int n = 11;
			int minInv = 55;
			String minStr = "debgikjfc";
			String expected__ = "kjihgfedcba";

			return verifyCase(casenum, expected__, new StrIIRec().recovstr(n, minInv, minStr));
		}
		case 3: {
			int n = 15;
			int minInv = 0;
			String minStr = "e";
			String expected__ = "eabcdfghijklmno";

			return verifyCase(casenum, expected__, new StrIIRec().recovstr(n, minInv, minStr));
		}
		case 4: {
			int n = 9;
			int minInv = 20;
			String minStr = "fcdebiha";
			String expected__ = "fcdehigba";

			return verifyCase(casenum, expected__, new StrIIRec().recovstr(n, minInv, minStr));
		}

		// custom cases

		/*
		 * case 5: {
		 * int n = ;
		 * int minInv = ;
		 * String minStr = ;
		 * String expected__ = ;
		 *
		 * return verifyCase(casenum, expected__, new StrIIRec().recovstr(n,
		 * minInv, minStr));
		 * }
		 */
		/*
		 * case 6: {
		 * int n = ;
		 * int minInv = ;
		 * String minStr = ;
		 * String expected__ = ;
		 *
		 * return verifyCase(casenum, expected__, new StrIIRec().recovstr(n,
		 * minInv, minStr));
		 * }
		 */
		/*
		 * case 7: {
		 * int n = ;
		 * int minInv = ;
		 * String minStr = ;
		 * String expected__ = ;
		 *
		 * return verifyCase(casenum, expected__, new StrIIRec().recovstr(n,
		 * minInv, minStr));
		 * }
		 */
		default:
			return -1;
		}
	}