private static int getCountByLocation( Glacier location,
					   int totalPenguins,
					   GlacialOrder glacialOrder){
	// How many penguins spawn at the glacier specified by 'location'?
	// Per the rules, this depends on the GlacialOrder in a somewhat
	// messy way. 

	if (totalPenguins == 0) return 0;

	// Easy Cases: Everything goes on the same glacier:
	if (glacialOrder == GlacialOrder.AllWest){
	    if (location == Glacier.West){
		return totalPenguins;
	    }
	    else {
		return 0;
	    }
	}
	if (glacialOrder == GlacialOrder.AllEast){
	    if (location == Glacier.East){
		return totalPenguins;
	    }
	    else {
		return 0;
	    }
	}

	// In these cases, we put half of the penguins on
	// each glacier. If the total is odd, we put the extra
	// penguin on the glacier listed in the order first.
	if (glacialOrder == GlacialOrder.WestThenEast){
	    if (location == Glacier.West){
		return totalPenguins/2 + totalPenguins%2; // "round up"
	    }
	    else {
		return totalPenguins/2;
	    }
	}
	if (glacialOrder == GlacialOrder.EastThenWest){
	    if (location == Glacier.East){
		return totalPenguins/2 + totalPenguins%2; // "round up"
	    }
	    else {
		return totalPenguins/2;
	    }
	}
	return -1;
    }