function mode( N, K, n ) {
	if (
		!isNonNegativeInteger( N ) ||
		!isNonNegativeInteger( K ) ||
		!isNonNegativeInteger( n ) ||
		N === PINF ||
		K === PINF ||
		K > N ||
		n > N
	) {
		return NaN;
	}
	return floor( ( n+1 ) * ( K+1 ) / ( N+2 ) );
}
Returns the mode of a hypergeometric distribution.

@param {NonNegativeInteger} N - population size
@param {NonNegativeInteger} K - subpopulation size
@param {NonNegativeInteger} n - number of draws
@returns {NonNegativeInteger} mode

@example
var v = mode( 16, 11, 4 );
// returns 3

@example
var v = mode( 2, 1, 1 );
// returns 1

@example
var v = mode( 10, 5, 12 );
// returns NaN

@example
var v = mode( 10.3, 10, 4 );
// returns NaN

@example
var v = mode( 10, 5.5, 4 );
// returns NaN

@example
var v = mode( 10, 5, 4.5 );
// returns NaN

@example
var v = mode( NaN, 10, 4 );
// returns NaN

@example
var v = mode( 20, NaN, 4 );
// returns NaN

@example
var v = mode( 20, 10, NaN );
// returns NaN