#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include long long mod = 1000000007; using namespace std; int main() { long long p, k; cin >> p >> k; long long z = 1, o = 0; for (int i = 0; i < k; i++) { long long z1 = (z * (p + 1) % mod + o * 2 * (p - 1) % mod) % mod; long long o1 = (z + o * 2 * (p - 1) % mod) % mod; z = z1, o = o1; } cout << z << endl; }