<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rhypergeometric(n, m, N, size=None):
 """ Returns hypergeometric random variates. """

    if n == 0:
        return np.zeros(size, dtype=int)
    elif n == N:
        out = np.empty(size, dtype=int)
        out.fill(m)
        return out
    return np.random.hypergeometric(n, N - n, m, size)