Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]-1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(pascal)
for i in range(1,1+lis[1]):
    ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]-1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
print(pascal)
for i in range(1,1+lis[1]):
    ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
for i in range(lis[0]):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])

for i in range(1,1+lis[1]):
    ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
for i in range(lis[0]):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])

for i in range(1,1+lis[1]):
    ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
import math
for i in range(1,lis[1]+1):
    #ans=int(math.factorial(lis[0]-lis[1]+1)/(math.factorial(i)*math.factorial(lis[0]-lis[1]-i+1)))%mod
    #ans*=int(math.factorial(lis[1]-1)/(math.factorial(i-1)*math.factorial(lis[1]-i)))%mod
    ans=int((math.factorial(lis[0]-lis[1]+1)*(math.factorial(lis[1]-1)))/(math.factorial(i)*math.factorial(lis[0]-lis[1]-i+1)*math.factorial(i-1)*math.factorial(lis[1]-i)))%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
lis=list(map(int,input().split()))
mod=(10**9)+7
import math
for i in range(1,lis[1]+1):
    ans=int(math.factorial(lis[0]-lis[1]+1)/(math.factorial(i)*math.factorial(lis[0]-lis[1]-i+1)))%mod
    ans*=int(math.factorial(lis[1]-1)/(math.factorial(i-1)*math.factorial(lis[1]-i)))%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
from scipy.special import comb
# a = comb(n, r)
#a = comb(n, r, exact=True)
lis=list(map(int,input().split()))
mod=(10**9)+7
for i in range(lis[1]):
    ans=comb(lis[0]-lis[1]+1,i+1,exact=True)%mod
    ans=ans*comb(lis[1]-1,i,exact=True)%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
from scipy.special import comb
# a = comb(n, r)
#a = comb(n, r, exact=True)
lis=list(map(int,input().split()))
mod=(10**9)+7
for i in range(lis[1]):
    ans=comb(lis[0]-lis[1]+1,i+1,exact=True)%mod
    ans=ans*comb(lis[1]-1,i,exact=True)%mod
    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)

Buggy python submission (verdict: Runtime Error):
#d=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
#import numpy as np
#n=int(input())
#import fractions
#import itertools
#import math
#lis=list(input().split())
#lis=list(map(float,input().split()))
#S=input()
#n=int(input())

lis=list(map(int,input().split()))
mod=(10**9)+7
import itertools
for i in range(lis[1]):
    ans=1
    for j in range(i+1):
        ans=ans*(lis[0]-lis[1]+1-j)
    for j in range(i+1):
        ans=int(ans/(j+1))
    for j in range(i):
        ans=ans*(lis[1]-1-j)
    for j in range(i):
        ans=int(ans/(j+1))
    ans=ans%mod

    print(ans)


Fixed submission:
lis=list(map(int,input().split()))
mod=(10**9)+7
pascal=[]
#print(lis[0]-lis[1]+1,lis[1]-1)
rank=max(lis[0]-lis[1]+1,lis[1]+1)
for i in range(rank):
    pascal.append([])
    for j in range(i+2):
        if j==0 or j==i+1:
            pascal[i].append(1)
        else:
            pascal[i].append(pascal[i-1][j-1]+pascal[i-1][j])
#print(len(pascal[-1]))
for i in range(1,1+lis[1]):
    if i<=lis[0]-lis[1]+1:
        ans=pascal[lis[0]-lis[1]][i]*pascal[lis[1]-2][i-1]%mod
    else:
        ans=0
    print(ans)