
    Given n different patient categories in a hospital, determine the number of possible ways to organize these categories into distinct care units, where each patient category must be assigned to exactly one unit and each unit must contain at least one category. This organizational challenge helps hospital administrators optimize bed allocation and staffing across different units while ensuring all patient categories are properly grouped based on their care requirements.
    

    
def bell_number(n):
    """
    Given n different patient categories in a hospital, determine the number of possible ways to organize these categories into distinct care units, where each patient category must be assigned to exactly one unit and each unit must contain at least one category. This organizational challenge helps hospital administrators optimize bed allocation and staffing across different units while ensuring all patient categories are properly grouped based on their care requirements.
    

    """
def bell_number(n):
    """
    Given n different patient categories in a hospital, determine the number of possible ways to organize these categories into distinct care units, where each patient category must be assigned to exactly one unit and each unit must contain at least one category. This organizational challenge helps hospital administrators optimize bed allocation and staffing across different units while ensuring all patient categories are properly grouped based on their care requirements.
    

    """
    bell = [[0 for i in range(n + 1)] for j in range(n + 1)]
    bell[0][0] = 1
    for i in range(1, n + 1):
        bell[i][0] = bell[i - 1][i - 1]
        for j in range(1, i + 1):
            bell[i][j] = bell[i - 1][j - 1] + bell[i][j - 1]
    return bell[n][0]