const val MOD = 1000000007L fun power(base: Long, exp: Long): Long { return when(exp) { 0L -> 1L 1L -> base % MOD else -> power(base * base % MOD, exp shr 1) * power(base, exp and 1) % MOD } } fun main() { val (n, k) = readLine()!!.trim().split(' ').map(String::toLong) val sumK = (k % MOD) * ((k + 1) % MOD) % MOD * power(2, MOD - 2) % MOD var result = 1L for (i in 0 until n) { result = result * (sumK + k % MOD) % MOD } println((result - power(sumK, n) + MOD) % MOD) }