import std;
import std.math.exponential;
const ulong M=10^^9+7;
void main(){
	auto input=readln.chomp.split.to!(ulong[]);
	auto n=input[0];
	auto m=input[1];
	long p=(2UL.powmod(m,M)-1+M)%M;
	writeln(p*2UL.powmod(M-2,M)%M);
}