
    Given a set of n distinct transaction patterns observed in credit card usage, determine the number of possible ways these patterns can be grouped into behavioral clusters for fraud detection analysis. Each transaction pattern must be assigned to exactly one cluster, and empty clusters are not allowed in the grouping process.
    

    
def bell_number(n):
    """
    Given a set of n distinct transaction patterns observed in credit card usage, determine the number of possible ways these patterns can be grouped into behavioral clusters for fraud detection analysis. Each transaction pattern must be assigned to exactly one cluster, and empty clusters are not allowed in the grouping process.
    

    """
def bell_number(n):
    """
    Given a set of n distinct transaction patterns observed in credit card usage, determine the number of possible ways these patterns can be grouped into behavioral clusters for fraud detection analysis. Each transaction pattern must be assigned to exactly one cluster, and empty clusters are not allowed in the grouping process.
    

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