public void inputEndOfHand(ActionList history, GameState gameState) {
		int handStrength = gameState.knownCards.evaluateOpponentHand();
		GameInfo gameInfo = gameState.gameInfo;
		
		if(handStrength != -1) {
			int numRaises = history.numberOfRaises();
			
			// calculate adjusted hand strength
			int ahs = adjustedHandStrength(handStrength);

			// if there is no history, initialize an empty int array
			if(historyToHandStrength.get(numRaises) == null) {
				int[] histogram = new int[] {0,0,0,0,0,0,0,0,0,0};
				historyToHandStrength.put(numRaises, histogram);
			}

			// find existing histogram and increment appropriate slot
			int[] histogram = historyToHandStrength.get(numRaises);
			histogram[ahs] = histogram[ahs] + 1;
		
			System.out.print("OpponentModel["+numRaises+"] <- ");
			for(int i = 0; i < histogram.length; i++) {
				System.out.print(histogram[i] + " - ");
			}
		}
		
		ActionList opponentActions = history.opponentActions(gameInfo);
		opponentRaises += opponentActions.numberOfRaises();
		opponentChecks += opponentActions.numberOfChecks();
		opponentFolds += opponentActions.numberOfFolds();
		double[] ap = actionProbabilities(history, gameState);
		
		System.out.println("\nOpponent actions (r/c/f): " + opponentRaises + " / " + 
				opponentChecks + " / "  + opponentFolds);
		System.out.println("AP: " + ap[0] + " / " + ap[1] + " / " + ap[2]);
	}