#include using namespace std; using ll = long long; constexpr long long MOD = 1000000007; int main(){ ll p, k; cin >> p >> k; ll ap[k + 1], bp[k + 1]; for (ll i = 0; i < k + 1; i++) { ap[i] = 0; bp[i] = 0; } ap[0] = 1; bp[0] = 0; for (ll i = 0; i < k; i++) { ap[i + 1] += (p+1)*ap[i]+2*(p-1)*bp[i]; bp[i + 1] += ap[i]+2*(p-1)*bp[i]; ap[i + 1] %= MOD; bp[i + 1] %= MOD; } cout << ap[k] << endl; }