class Solution{ public: typedef long long ll; long long countWays(int n, ll k){ vector dp(n + 1); dp[1] = k; dp[2] = (k * k); const ll MOD = 1e9 + 7; for(int i = 3; i <= n; i++) { dp[i] = (((dp[i - 1] + dp[i - 2]) % MOD) * ((k - 1) % MOD)) % MOD; } return dp[n] % MOD; } };