MOD = 10 ** 9 + 7 N,K = map(int,input().split()) fact = [1]*(N+1) rfact = [1]*(N+1) r = 1 for i in range(1, N+1): fact[i] = r = r * i % MOD rfact[N] = r = pow(fact[N], -1, MOD) for i in range(N, 0, -1): rfact[i-1] = r = r * i % MOD # nCk (mod MOD) を求める def comb(n, k): return fact[n] * rfact[k] * rfact[n-k] % MOD KN = pow(K,N,MOD) avg = ((K * (K + 1) // 2) * pow(K,-1,MOD)) % MOD ans = 0 TKN = KN for i in range(N): ans += TKN * comb(N,i) ans %= MOD TKN = (TKN * avg) % MOD print(ans)