#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using std::cout; using std::cin; using std::string; using std::vector; const int MOD = 1e9+7; long long modpow(long long a, long long b) { a %= MOD; long long ans = 1; while (b > 0) { if (b & 1) { ans = (ans*a) % MOD; } a = (a*a) % MOD; b >>= 1; } return ans; } int main() { long long n, m; cin >> n >> m; long long ans = modpow(2, m) - 1; ans *= modpow(2, MOD-2); ans %= MOD; cout << ans; }