MOD = int(1e9 + 7) n, k = map(int, input().split()) ans = 0 c, d = [1] * (min(n, k) + 1), [1] * (min(n, k) + 1) for i in range(1, len(c)): c[i] = c[i - 1] * (k - i + 1) * pow(i, MOD - 2, MOD) % MOD d[i] = d[i - 1] * (n - i) * pow(i, MOD - 2, MOD) % MOD ans = (ans + pow(2, i - 1, MOD) * c[i] * d[i - 1] % MOD) % MOD print(ans)