import sys readline = sys.stdin.readline N, M = map(int, input().split()) mod = 10**9 + 7 fac, inv = [1]*(M+1), [0]*(M+1) for i in range(2, M+1): fac[i] = fac[i-1] * i % mod inv[-1] = pow(fac[-1], mod-2, mod) for i in range(M, 0, -1): inv[i-1] = inv[i] * i % mod ans = 0 for i in range(M+1): ans += fac[M] * inv[i] * inv[M-i] * \ pow(M-i, N, mod) * (-1 if i & 1 else 1) % mod print(ans % mod)