import sys input = sys.stdin.readline N, K = map(int, input().split()) mod = 10 ** 9 + 7 rev = pow(pow(2, K, mod), mod - 2, mod) nrev = pow(N, mod - 2, mod) nrev2 = pow(N // 2, mod - 2, mod) for n in range(N): res = 0 if N % 2 == 0: if n % 2 == 0: print(0) continue res += (pow(2, K - 1, mod) - pow(2, K - 1, N // 2) % (N // 2)) * nrev2 % mod res %= mod #print(res, pow(2, K - 1, mod) - pow(2, K - 1, N) % N) res *= 2 * rev else: res += (pow(2, K - 1, mod) - pow(2, K - 1, N) % N) * nrev % mod res %= mod #print(res, pow(2, K - 1, mod) - pow(2, K - 1, N) % N) res *= 2 * rev if N % 2: r = n // 2 if n % 2 == 0: r += N // 2 #print(res % mod, r, pow(2, K - 1, N)) if pow(2, K - 1, N) > r: res += rev r = (N - n) // 2 if n % 2: r += N // 2 #print(res % mod, r, pow(2, K - 1, N)) if pow(2, K - 1, N) > r: res += rev else: r = n // 2 #print(res % mod, r, pow(2, K - 1, N // 2)) if pow(2, K - 1, N // 2) > r: res += rev r = (N - n) // 2 #print(res % mod, r, pow(2, K - 1, N // 2)) if pow(2, K - 1, N // 2) > r: res += rev res %= mod print(res)