n,m=map(int,input().split())
p = (int)(1e9+7) 

def power(x, y, p) : 
    res = 1    
  
    x = x % p  
  
    while (y > 0) : 
        if ((y & 1) == 1) : 
            res = (res * x) % p 
  
        y = y >> 1      
        x = (x * x) % p 
          
    return res 

ans = 0
if n==1 and m==1:
    ans = 0
elif n==1:
    ans = m-1
elif m==1:
    ans = n-1
else:
    ans = power(n,m,p)

print(ans)

