static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int[] ratings = { 491, 981, 1199, 763, 994, 879, 888 };
			int K = 3;
			int expected__ = 2;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}
		case 1: {
			int[] ratings = { 1024, 1000, 600 };
			int K = 1;
			int expected__ = 0;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}
		case 2: {
			int[] ratings = { 505, 679, 900, 1022 };
			int K = 2;
			int expected__ = 1;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}
		case 3: {
			int[] ratings = { 716, 58, 1000, 1004, 912, 822, 453, 1100, 558 };
			int K = 3;
			int expected__ = 1;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}
		case 4: {
			int[] ratings = { 422, 623, 1023, 941, 882, 776, 852, 495, 803,
					622, 618, 532, 751, 500 };
			int K = 4;
			int expected__ = 3;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}
		case 5: {
			int[] ratings = { 1197, 1198, 1196, 1195, 1199 };
			int K = 1;
			int expected__ = 2;

			return verifyCase(casenum__, expected__,
					new SRMRoomAssignmentPhase().countCompetitors(ratings, K));
		}

		// custom cases

		/*
		 * case 6: { int[] ratings = ; int K = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * SRMRoomAssignmentPhase().countCompetitors(ratings, K)); }
		 */
		/*
		 * case 7: { int[] ratings = ; int K = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * SRMRoomAssignmentPhase().countCompetitors(ratings, K)); }
		 */
		/*
		 * case 8: { int[] ratings = ; int K = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * SRMRoomAssignmentPhase().countCompetitors(ratings, K)); }
		 */
		default:
			return -1;
		}
	}