
    Given n bus routes in a city's transportation network, determine the number of different ways these routes can be grouped into service zones, where each route must be assigned to exactly one zone and empty zones are not allowed. A valid grouping represents a unique way to organize the bus network to serve different areas of the city efficiently.
    

    
def bell_number(n):
    """
    Given n bus routes in a city's transportation network, determine the number of different ways these routes can be grouped into service zones, where each route must be assigned to exactly one zone and empty zones are not allowed. A valid grouping represents a unique way to organize the bus network to serve different areas of the city efficiently.
    

    """
def bell_number(n):
    """
    Given n bus routes in a city's transportation network, determine the number of different ways these routes can be grouped into service zones, where each route must be assigned to exactly one zone and empty zones are not allowed. A valid grouping represents a unique way to organize the bus network to serve different areas of the city efficiently.
    

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