import sys import numpy as np read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines MOD = 1_000_000_007 def main(N, K): NN = N * 2 A = np.zeros(NN, np.int64) # 全部マイナスに進んだ場合の場所 shift = (1 - pow(2, K, NN)) % NN # そこから、0, 2, 4, ..., 2^{K+1}-2 まで足せる # q, r = divmod(pow(2,K), NN) q, r = divmod(pow(2, K, N * MOD), N) A[:2 * r:2] += 1 A[::2] += q A = np.roll(A, shift) # 全確率でわる x = np.sum(A) % MOD A *= pow(int(x), -1, MOD) A = A[:N] + A[N:] return A % MOD N, K = map(int, read().split()) ans = main(N, K) print('\n'.join(map(str, ans.tolist())))