#include <bits/stdc++.h>
using namespace std;
long long int n, m;
long long int qpow(long long int a, long long int b) {
  long long int ans = 1;
  while (b) {
    if (b & 1) ans = ans * a % 1000000007;
    a = a * a % 1000000007;
    b >>= 1;
  }
  return ans;
}
int main() {
  cin >> n >> m;
  cout << qpow(qpow(2, m) - 1, n) << endl;
}
