static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int[] price = { 13, 22, 35 };
			int[] cost = { 0, 0, 0 };
			int expected__ = 22;

			return verifyCase(casenum__, expected__, new SellingProducts().optimalPrice(price, cost));
		}
		case 1: {
			int[] price = { 13, 22, 35 };
			int[] cost = { 5, 15, 30 };
			int expected__ = 13;

			return verifyCase(casenum__, expected__, new SellingProducts().optimalPrice(price, cost));
		}
		case 2: {
			int[] price = { 13, 22, 35 };
			int[] cost = { 15, 30, 40 };
			int expected__ = 0;

			return verifyCase(casenum__, expected__, new SellingProducts().optimalPrice(price, cost));
		}
		case 3: {
			int[] price = { 10, 10, 20, 20, 5 };
			int[] cost = { 1, 5, 11, 15, 0 };
			int expected__ = 10;

			return verifyCase(casenum__, expected__, new SellingProducts().optimalPrice(price, cost));
		}
		case 4: {
			int[] price = { 13, 17, 14, 30, 19, 17, 55, 16 };
			int[] cost = { 12, 1, 5, 10, 3, 2, 40, 19 };
			int expected__ = 17;

			return verifyCase(casenum__, expected__, new SellingProducts().optimalPrice(price, cost));
		}

		// custom cases

		case 5: {
			int[] price = { 603875, 216153, 220035, 500054, 793572, 724531, 897981, 7609, 599878, 430889, 444382,
					991458, 321402, 229627, 584934, 781473, 179044, 252396, 800867, 263880, 707055, 253905, 911167,
					689308, 668959, 850939, 671027, 198120, 949934, 644711, 75549, 450678, 523576, 655894, 773878,
					408913, 674886, 161884, 178978, 398677, 624052, 265836, 765308, 79916, 102813, 452849, 599214,
					927097, 14077, 120382 };
			int[] cost = { 591991, 443889, 579916, 906579, 770798, 587746, 569253, 311106, 178865, 169759, 646510,
					758444, 148407, 7905, 662700, 73065, 787007, 222692, 838841, 374393, 809822, 390961, 894289,
					716049, 768959, 427118, 223893, 498945, 761190, 301931, 688418, 834297, 625187, 270144, 662449,
					609710, 147868, 22657, 102137, 47825, 445377, 175455, 483864, 966080, 227521, 308711, 815605,
					751818, 505979, 876484 };
			int expected__ = 599878;

			return verifyCase(casenum__, expected__, new
					SellingProducts().optimalPrice(price, cost));
		}

		/*
		 * case 6: {
		 * int[] price = ;
		 * int[] cost = ;
		 * int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * SellingProducts().optimalPrice(price, cost));
		 * }
		 */
		/*
		 * case 7: {
		 * int[] price = ;
		 * int[] cost = ;
		 * int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * SellingProducts().optimalPrice(price, cost));
		 * }
		 */
		default:
			return -1;
		}
	}