
    Design an algorithm to determine the number of possible ways to classify a sequence of n consecutive patient vital sign readings into k risk categories, where no more than 2 consecutive readings can be assigned the same risk level to prevent alert fatigue in healthcare monitoring systems. The solution should help optimize alert systems by balancing the need for accurate risk detection while avoiding excessive similar consecutive alerts that could lead to healthcare providers overlooking critical warnings.
    

    
def count_no_of_ways(n, k):
    """
    Design an algorithm to determine the number of possible ways to classify a sequence of n consecutive patient vital sign readings into k risk categories, where no more than 2 consecutive readings can be assigned the same risk level to prevent alert fatigue in healthcare monitoring systems. The solution should help optimize alert systems by balancing the need for accurate risk detection while avoiding excessive similar consecutive alerts that could lead to healthcare providers overlooking critical warnings.
    

    """
def count_no_of_ways(n, k):
    """
    Design an algorithm to determine the number of possible ways to classify a sequence of n consecutive patient vital sign readings into k risk categories, where no more than 2 consecutive readings can be assigned the same risk level to prevent alert fatigue in healthcare monitoring systems. The solution should help optimize alert systems by balancing the need for accurate risk detection while avoiding excessive similar consecutive alerts that could lead to healthcare providers overlooking critical warnings.
    

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