def powmod(n,pow,mod): val = 1 while pow > 0: if pow & 1: val = (val * n) % mod pow = pow >> 1 n = (n * n) % mod return val n, m = map(int, input().split()) p = 10**9 + 7 val = m % (p - 1) ans = powmod(2,val,p) - 1 ans = ans * powmod(2,p-2,p) % p print("{}".format(ans))