static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			String[] lines = { "tomorrow", "topcoder" };
			int expected__ = 18;

			return verifyCase(casenum__, expected__,
					new UndoHistory().minPresses(lines));
		}
		case 1: {
			String[] lines = { "a", "b" };
			int expected__ = 6;

			return verifyCase(casenum__, expected__,
					new UndoHistory().minPresses(lines));
		}
		case 2: {
			String[] lines = { "a", "ab", "abac", "abacus" };
			int expected__ = 10;

			return verifyCase(casenum__, expected__,
					new UndoHistory().minPresses(lines));
		}
		case 3: {
			String[] lines = { "pyramid", "sphinx", "sphere", "python",
					"serpent" };
			int expected__ = 39;

			return verifyCase(casenum__, expected__,
					new UndoHistory().minPresses(lines));
		}
		case 4: {
			String[] lines = { "ba", "a", "a", "b", "ba" };
			int expected__ = 13;

			return verifyCase(casenum__, expected__,
					new UndoHistory().minPresses(lines));
		}

		// custom cases

		/*
		 * case 5: { String[] lines = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * UndoHistory().minPresses(lines)); }
		 */
		/*
		 * case 6: { String[] lines = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * UndoHistory().minPresses(lines)); }
		 */
		/*
		 * case 7: { String[] lines = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * UndoHistory().minPresses(lines)); }
		 */
		default:
			return -1;
		}
	}