package main
import (
"fmt"
)
func powMod(base, exp, mod int64) int64 {
var res int64 = 1
base %= mod
for exp > 0 {
if exp%2 == 1 {
res = (res * base) % mod
}
base = (base * base) % mod
exp /= 2
}
return res
}
func main() {
var n, m int64
if _, err := fmt.Scan(&n, &m); err != nil {
return
}
const mod int64 = 1000000007
waysForOneKind := (powMod(2, m, mod) - 1 + mod) % mod
ans := powMod(waysForOneKind, n, mod)
fmt.Println(ans)
}