Returns the (num_items - 1)-th Bell number using recursion.
    The Bell numbers count the number of partitions of a set.

    Args:
        n (int): number of items in a set

    Returns:
        int:

    References:
        http://adorio-research.org/wordpress/?p=11460

    CommandLine:
        python -m utool.util_alg --exec-bell --show

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_alg import *  # NOQA
        >>> n = 3
        >>> result = get_nth_bell_number(n)
        >>> print(result)
        5

def get_nth_bell_number(n):
    """
    Returns the (num_items - 1)-th Bell number using recursion.
    The Bell numbers count the number of partitions of a set.

    Args:
        n (int): number of items in a set

    Returns:
        int:

    References:
        http://adorio-research.org/wordpress/?p=11460

    CommandLine:
        python -m utool.util_alg --exec-bell --show

    Example:
        >>> # DISABLE_DOCTEST
        >>> from utool.util_alg import *  # NOQA
        >>> n = 3
        >>> result = get_nth_bell_number(n)
        >>> print(result)
        5
    """
    import utool as ut
    import scipy.special
    @ut.memoize
    def bell_(n):
        if n < 2:
            return 1
        sum_ = 0
        for k in range(1, n + 1):
            sum_ = sum_ + scipy.special.binom(n - 1, k - 1) * bell_(k - 1)
        return sum_
    nth_bell = bell_(n)
    return nth_bell