#include long long int modpow(long long int a, long long int n, long long int p) { long long int res = 1; for (; n > 0; n >>= 1, a = a * a % p) if ((n & 1) > 0) res = res * a % p; return res; } int main() { long long int n, m; scanf("%lld %lld", &n, &m); long long int p = 1000000007; printf("%lld\n", (modpow(2, m, p) - 1 + p) % p * modpow(2, p - 2, p) % p); return 0; }