
    Given n distinct traffic zones in a city's public transit system, determine the number of different ways these zones can be grouped into bus service areas, where each zone must be assigned to exactly one service area and no service area can be empty. Each possible grouping arrangement represents a unique way to organize the bus routes while covering all zones.
    

    
def bell_number(n):
    """
    Given n distinct traffic zones in a city's public transit system, determine the number of different ways these zones can be grouped into bus service areas, where each zone must be assigned to exactly one service area and no service area can be empty. Each possible grouping arrangement represents a unique way to organize the bus routes while covering all zones.
    

    """
def bell_number(n):
    """
    Given n distinct traffic zones in a city's public transit system, determine the number of different ways these zones can be grouped into bus service areas, where each zone must be assigned to exactly one service area and no service area can be empty. Each possible grouping arrangement represents a unique way to organize the bus routes while covering all zones.
    

    """
    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]