
    Given a sequence of n consecutive credit card transactions and k distinct risk categories, determine the number of possible risk pattern combinations where no more than 2 consecutive transactions can be flagged with the same risk level. The risk categorization system helps identify potential fraud by analyzing patterns in transaction sequences, and each transaction must be assigned exactly one risk level.
    

    
def count_no_of_ways(n, k):
    """
    Given a sequence of n consecutive credit card transactions and k distinct risk categories, determine the number of possible risk pattern combinations where no more than 2 consecutive transactions can be flagged with the same risk level. The risk categorization system helps identify potential fraud by analyzing patterns in transaction sequences, and each transaction must be assigned exactly one risk level.
    

    """
def count_no_of_ways(n, k):
    """
    Given a sequence of n consecutive credit card transactions and k distinct risk categories, determine the number of possible risk pattern combinations where no more than 2 consecutive transactions can be flagged with the same risk level. The risk categorization system helps identify potential fraud by analyzing patterns in transaction sequences, and each transaction must be assigned exactly one risk level.
    

    """
    dp = [0] * (n + 1)
    total = k
    mod = 1000000007
    dp[1] = k
    dp[2] = k * k
    for i in range(3, n + 1):
        dp[i] = (k - 1) * (dp[i - 1] + dp[i - 2]) % mod
    return dp[n]