private double getPreFlopDiscardOdds(int holeCardA, int holeCardB, int discardCard) throws IOException {
		long wins = 0;
		long gameCount = 0;
		
		int[] cardsToRemove = {holeCardA, holeCardB, discardCard};
		Integer[] newCards = getNewCards(cardsToRemove, ints);
		int[] newCardsArray = new int[49];
		for (int z = 0; z < 49; z++) {
			newCardsArray[z] = newCards[z];
		}
		
		for (int a = 0; a < 49; a++) {
			int enemyCardA = newCards[a];
			for (int b = a+1; b < 49; b++) {
				int enemyCardB = newCards[b];
				int[] newCardsToRemove = {enemyCardA, enemyCardB};
				Integer[] finalNewCards = getNewCards(newCardsToRemove, newCardsArray);
				
				for (int c = 0; c < 47; c++) {
					int boardCardA = finalNewCards[c];
					for (int d = c+1; d < 47; d++) {
						int boardCardB = finalNewCards[d];
						for (int e = d+1; e < 47; e++) {
							int boardCardC = finalNewCards[e];
							for (int f = e+1; f < 47; f++) {
								int boardCardD = finalNewCards[f];
								for (int g = f+1; g < 47; g++) {
									int boardCardE = finalNewCards[g];
									
									int[] myHand = {holeCardA, holeCardB, boardCardA, boardCardB, boardCardC, boardCardD, boardCardE};
									int[] enemyHand = {enemyCardA, enemyCardB, boardCardA, boardCardB, boardCardC, boardCardD, boardCardE};
									
									int myRank = rankEngine.lookupHand7(myHand, 0);
									int enemyRank = rankEngine.lookupHand7(enemyHand, 0);
									
									if (myRank >= enemyRank) {
										wins++;
									}
									
									gameCount++;
								}
							}
						}
					}
				}
			}
		}
		
		return ((wins*1.0)/gameCount);
	}