
    Given n distinct customer segments based on financial profiles, determine the total number of unique ways to group these segments into different loan packages, where each customer segment must be assigned to exactly one package and the order of segments within a package doesn't matter. Each possible grouping arrangement represents a different loan packaging strategy that the bank can offer to its customers.
    

    
def bell_number(n):
    """
    Given n distinct customer segments based on financial profiles, determine the total number of unique ways to group these segments into different loan packages, where each customer segment must be assigned to exactly one package and the order of segments within a package doesn't matter. Each possible grouping arrangement represents a different loan packaging strategy that the bank can offer to its customers.
    

    """
def bell_number(n):
    """
    Given n distinct customer segments based on financial profiles, determine the total number of unique ways to group these segments into different loan packages, where each customer segment must be assigned to exactly one package and the order of segments within a package doesn't matter. Each possible grouping arrangement represents a different loan packaging strategy that the bank can offer to its customers.
    

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