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 kRest = k % MOD val sumK = kRest * (kRest + 1) % MOD * power(2, MOD - 2) % MOD var result = 1L for (i in 0 until n) { result = result * (sumK + kRest) % MOD } println((result - power(sumK, n) + MOD) % MOD) }