Harryxun/stf_run huggingface dataset:
while True:
    s1 = input()
    if s1 == ".":
        break
    s2 = input()

    listed_s1 = [[]]
    listed_s2 = [[]]
    start = 0
    now = 0
    for i in range(len(s1)):
        if s1[i] == "\"" and not start:
            listed_s1.append([])
            now += 1
            start = 1
            listed_s1[now].append(s1[i])
        elif s1[i] == "\"" and start:
            listed_s1[now].append(s1[i])
            listed_s1.append([])
            now += 1
            start = 0
        else:
            listed_s1[now].append(s1[i])

    now = 0
    for i in range(len(s2)):
        if s2[i] == "\"" and not start:
            listed_s2.append([])
            now += 1
            start = 1
            listed_s2[now].append(s2[i])
        elif s2[i] == "\"" and start:
            listed_s2[now].append(s2[i])
            listed_s2.append([])
            now += 1
            start = 0
        else:
            listed_s2[now].append(s2[i])

    fist_wrong = 0
    ans = "IDENTICAL"
    for i in range(min(len(listed_s1), len(listed_s2))):
        if listed_s1[i] != listed_s2[i]:
            if listed_s1[i][0] == "\"" and listed_s2[i][-1] == "\"" and listed_s2[i][0] == "\"" and listed_s2[i][-1] == "\"":
                if fist_wrong:
                    ans = "DIFFERENT"
                else:
                    fist_wrong = 1
                    ans = "CLOSE"

            else:
                ans = "DIFFERENT"
        if ans == "DIFFERENT":
            break
    if len(listed_s1) != len(listed_s2):
        ans = "DIFEERENT"


    print(ans)


### FIXED CODE ###

while True:
    s1 = input()
    if s1 == ".":
        break
    s2 = input()

    listed_s1 = [[]]
    listed_s2 = [[]]
    start = 0
    now = 0
    for i in range(len(s1)):
        if s1[i] == "\"" and not start:
            listed_s1.append([])
            now += 1
            start = 1
            listed_s1[now].append(s1[i])
        elif s1[i] == "\"" and start:
            listed_s1[now].append(s1[i])
            listed_s1.append([])
            now += 1
            start = 0
        else:
            listed_s1[now].append(s1[i])

    now = 0
    for i in range(len(s2)):
        if s2[i] == "\"" and not start:
            listed_s2.append([])
            now += 1
            start = 1
            listed_s2[now].append(s2[i])
        elif s2[i] == "\"" and start:
            listed_s2[now].append(s2[i])
            listed_s2.append([])
            now += 1
            start = 0
        else:
            listed_s2[now].append(s2[i])

    fist_wrong = 0
    ans = "IDENTICAL"
    if len(listed_s1) != len(listed_s2):
        ans = "DIFFERENT"

    for i in range(min(len(listed_s1), len(listed_s2))):
        if ans == "DIFFERENT":
            break
        if listed_s1[i] != listed_s2[i]:
            if listed_s1[i][0] == "\"" and listed_s2[i][-1] == "\"" and listed_s2[i][0] == "\"" and listed_s2[i][-1] == "\"":
                if fist_wrong:
                    ans = "DIFFERENT"
                else:
                    fist_wrong = 1
                    ans = "CLOSE"

            else:
                ans = "DIFFERENT"


    print(ans)
X = str(input())
tmp = 0
for i in range(len(X)):
  tmp += int(X[i])

if X % tmp == 0:
  print('Yes')
else:
  print('No')

### FIXED CODE ###

X = str(input())
tmp = 0
for i in range(len(X)):
  tmp += int(X[i])

if int(X) % tmp == 0:
  print('Yes')
else:
  print('No')
import bisect

N, K = input().split()
dList = [int(x) for x in input().split()]
useList = [0,1,2,3,4,5,6,7,8,9]
for d in dList:
    useList.remove(d)
result = ''
if int(N[0]) > max(useList):
    # 桁上げが必要
    if useList[0] != 0:
        result += str(useList[0])
    else:
        result += str(useList[1])
    result += str(useList[0])*(len(N)-1)
else:
    for i in range(len(N)):
        a = int(N[i])
        if a in useList:
            result += N[i]
            continue
        else:
            result += str(useList[bisect.bisect_right(useList, a)])
            result += str(useList[0])*(len(N)-i)
            break
print(result)

### FIXED CODE ###

import bisect

N, K = input().split()
dList = [int(x) for x in input().split()]
useList = [0,1,2,3,4,5,6,7,8,9]
for d in dList:
    useList.remove(d)
result = ''
if int(N[0]) > max(useList):
    # 桁上げが必要
    if useList[0] != 0:
        result += str(useList[0])
    else:
        result += str(useList[1])
    result += str(useList[0])*(len(N))
else:
    for i in range(len(N)):
        a = int(N[i])
        if a in useList:
            result += N[i]
            continue
        else:
            count = 0
            if a > max(useList):
                while not max(useList) > int(result[-1]):
                    count += 1
                    result = result[:-1]
                    if result == '':
                        break
                if result == '':
                    if useList[0] != 0:
                        result += str(useList[0])
                    else:
                        result += str(useList[1])
                    result += str(useList[0])*(len(N))
                    break
                count += 1
                sect = int(result[-1])
                result = result[:-1]
                result += str(useList[bisect.bisect_right(useList, sect)])
                result += str(useList[0])*(len(N)-len(result))
            else:
                result += str(useList[bisect.bisect_right(useList, a)])
                result += str(useList[0])*(len(N)-i-1)
            break
print(result)
# -*- coding: utf-8 -*-
import sys

N = int(input())
H = list(map(int,input().split()))
check = 0

if int(len(H)) == 1:
	print('Yes')
	sys.exit()

for i in range(0,N-1,1):
	
	elif H[i] > H[i + 1]:
		H[i + 1] += 1

	check = sorted(H)

	if check = H:
		print('Yes')
	else:
		print('No')


print('Yes')

### FIXED CODE ###

# -*- coding: utf-8 -*-
N = int(input())
H = list(map(int,input().split()))

ans = 'Yes'
diff = 0

for i in range(N - 1):
	diff = H[i + 1] - H[i]

	if diff >= 1:
		H[i + 1] -= 1
	elif diff < 0:
		ans = 'No'

print(ans)
a,b=map(int,input())
if max(a,b)<=9 and min(a,b)>=1:
    print(a*b)
else:print(-1)
    

### FIXED CODE ###

a,b=map(int,input().split())
if max(a,b)<=9 and min(a,b)>=1:
    print(a*b)
else:print(-1)
import math
p,q= input().split()
a,b =(int(p), int(q))
count = 1

for i in range(math.floor(b/a  + 4)):
    if count < b:
        count += a -1
    else:
        ans = i
        break

print(ans)

### FIXED CODE ###

import math
p,q= input().split()
a,b =(int(p), int(q))
count = 1

for i in range(math.floor((b/a)**2 + 4)):
    if count < b:
        count += a -1
    else:
        print(i)
        ans = i
        break
N = int(input())
l = []
for i in range(N):
    s,p = input().split()
    l.append([s,int(p),i+1])

l = sorted(l,key = lambda x:x[1],reverse=True)
l = sorted(l,key = lambda x:x[0])

for i in range(N):
    print(l[2])

### FIXED CODE ###

N = int(input())
l = []
for i in range(N):
    s,p = input().split()
    l.append([s,int(p),i+1])

l = sorted(l,key = lambda x:x[1],reverse=True)
l = sorted(l,key = lambda x:x[0])

for i in range(N):
    print(l[i][2])
n,k=map(int,input().split())

import math

def boxball(box,ball):
    cal=math.factorial(ball-1)//math.factorial(ball-box)//math.factorial(box-1)
    return cal%1000000007

def redball(box,ball):
    cal=math.factorial(ball+1)//math.factorial(ball-box+2)//math.factorial(box-1)
    return cal%1000000007

#print(boxball(3,5),redball(3,5))

for i in range(k):
    ans=boxball(i+1,k)*redball(i+2,n-k)
    print(ans%1000000007)

### FIXED CODE ###

n,k=map(int,input().split())

import math

def boxball(box,ball):
    if ball>=box:
        cal=math.factorial(ball-1)//math.factorial(ball-box)//math.factorial(box-1)
        return cal%1000000007
    else:
        return 0

def redball(box,ball,i):
    if ball==0:
        if i==1:
            return 1
        else:
            return 0
    else:
        if ball>=box-2:
            cal=math.factorial(ball+1)//math.factorial(ball-box+2)//math.factorial(box-1)
            return cal%1000000007
        else:
            return 0
#print(boxball(3,5),redball(3,5))
    
for i in range(k):
    ans=boxball(i+1,k)*redball(i+2,n-k,i+1)
    print(ans%1000000007)
import math
print(math.pi()*int(input()))

### FIXED CODE ###

import math
print(math.pi*2*int(input()))
h, W = map(int,input().split())
if h % 2 != 0:
    if W % 2 != 0:
        ans = (h-1)*W//2+(W//2+1)
else:
    ans = (h*W)//2
print(ans)

### FIXED CODE ###

h, W = map(int,input().split())
if W <= 0:
    print(0)
elif h == 1:
    print(1)
elif W == 1:
    print(1)
else:
    if h % 2 != 0:
        if W % 2 != 0:
            ans = ((h-1)*W//2)+(W//2+1)
        else:
            ans = (h*W)//2
    else:
        ans = (h*W)//2
    print(ans)
from collections import deque
n,c,k = map(int,input().split())
t = []
for _ in range(n):
    tt = int(input())
    t.append(tt)
t.sort()
ans = deque([])
cnt = 0
for i, tt in enumerate(t):
    if i == 0:
        ans.append([tt+k,1])
        cnt += 1
    else:
        flg = False
        for i in range(len(ans)):
            tmp = ans.popleft()
            if tmp[0] < tt or tmp[1] == c:

                continue
            else:
                flg = True
                break
        if flg :
            tmp[1] += 1
            if tmp[1] != c:
                a.append(tmp)
                ans.appendleft(tmp)
        else:
            tmp = [tt+k,1]
            ans.append(tmp)
            cnt += 1
print(cnt)


### FIXED CODE ###

from collections import deque
n,c,k = map(int,input().split())
t = []
for _ in range(n):
    tt = int(input())
    t.append(tt)
t.sort()
ans = deque([])
cnt = 0
for i, tt in enumerate(t):
    if i == 0:
        ans.append([tt+k,1])
        cnt += 1
    else:
        flg = False
        for i in range(len(ans)):
            tmp = ans.popleft()
            if tmp[0] < tt or tmp[1] == c:

                continue
            else:
                flg = True
                break
        if flg :
            tmp[1] += 1
            if tmp[1] != c:
                ans.appendleft(tmp)
        else:
            tmp = [tt+k,1]
            ans.append(tmp)
            cnt += 1
print(cnt)
a=int(input())
b=int(input())
c=int(input())
d=int(input())
e=int(input())
k=int(input())

if b-a>k or c-b>k or d-c>k or e-d>k or f-e>k:
    print(':(')
else:
    print('Yay!')
    



### FIXED CODE ###

a=int(input())
b=int(input())
c=int(input())
d=int(input())
e=int(input())
k=int(input())

x=max(a,b,c,d,e)
y=min(a,b,c,d,e)


if x-y>k:
    print(':(')
else:
    print('Yay!')
if len(S) == 2:
  print(S)
if len(S) == 3:
  print(S[2]+S[1]+S[0])

### FIXED CODE ###

S = input()
if len(S) == 2:
  print(S)
if len(S) == 3:
  print(S[2]+S[1]+S[0])
import itertools
n, a, b = map(int, input().split())
if n < b-a:
    print(0)
    exit()
N = list(range(a, b+1))
su = []
if n > 2:
    for v in itertools.combinations_with_replacement(N, n-2):
        if not sum(v) in su: su.append(sum(v))
    ans = len(su)
else:
    A = b-a+1
    if n == 1: ans = A
    else: ans = A * (A-1) * (A-2) // 6
print(ans)

### FIXED CODE ###

n, a, b = map(int, input().split())
if a > b or (n == 1 and a != b):
    print(0)
else:
    print((b-a) * (n-2) + 1)
li = input.split('')
print(len([a for a in li if a == '1']))


### FIXED CODE ###

s = input()
print(len([a for a in s if a == '1']))
n,k = map(int, raw_input().split())
letters = [u for u in range(10) if u not in set(map(int, raw_input().split()))]
def dfs(u,n,letters):return min([dfs(u*10 +l,n,letters) for l in letters if u or l]) if u < n else u

print dfs(0,n,letters)

### FIXED CODE ###

#1000 8
#1 3 4 5 6 7 8 9
n,k = map(int, raw_input().split())
s = set(map(int, raw_input().split()))
letters = [u for u in range(10) if u not in s]
def dfs(u,n,letters):
	if u >= n:
		return u
	return min([dfs(u*10 +l,n,letters) for l in letters if u or l])

print dfs(0,n,letters)
N=int(input())
i=0
j=1
l=['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']
S=""
while i<N:
    i+=26**j
    j+=1
N-=i-26**(j-1)
for i in reversed(range(j-1)):
    if i!=0:
        a=N//26**i
        S+=l[a]
        N-=a*(26**i)
    else:
        S+=l[N-1]
    if N==0:
        S=S[:len(S)-1]
        S+=l[a-1]
        S+="z"*i
        break
print(S)
    



    





    






        






    
















        


























            
    


    


    
    














    


    














### FIXED CODE ###

N=int(input())
i=0
j=1
l=['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']
S=""
while i<N:
    i+=26**j
    j+=1
N-=i-26**(j-1)
if N==26**(j-1):
    print("z"*(j-1))
    exit()
for i in reversed(range(j-1)):
    if i!=0:
        a=N//26**i
        S+=l[a]
        N-=a*(26**i)
    else:
        S+=l[N-1]
    if N==0:
        S=S[:len(S)-1]
        S+=l[a-1]
        S+="z"*i
        break
print(S)
dic = {}
while True:
    try:
        word, pgn = input().split()

    if word in dic.keys():
        dic[word].append(int(pgn))
    else:
        dic[word] = [int(pgn)]
    except:
        break
        
for k, v in dic.items():
    print(k)
    print(' '.join(map(str, sorted(v))))

### FIXED CODE ###

d = {}
while True:
    try:
        data = input().split()
    except:
        break
    word = data[0]
    number = int(data[1])
    if word in d:
        d[word].append(number)
    else:
        d[word] = [number]

for k, v in sorted(d.items(), key=lambda x: x[0]):
    print(k)
    print(*sorted(v))
package main

import "fmt"

func main(){
	var i int
	fmt.Scan(&i)
	fmt.Println(i*i*i)
}


### FIXED CODE ###

print(int(input()) ** 3)
d,t,s = map(int,input().split())
if d/s<=t:
  print(Yes)
else:
  print(no)

### FIXED CODE ###

d,t,s = map(int,input().split())
if (d/s)<=t:
  print("Yes")
else:
  print("No")
# -*- coding:utf-8 -*-
import sys
N = int(input())
lis = []
for i in range(N):
    s_raw = input().split()
    s = [int(j) for j in s_raw]
    lis.append(s)

def travel(t, x, y, count):
    if t > lis[N-1][0]:
        print("YES")
        sys.exit()
    if t == lis[count][0]:
        if x == lis[count][1] and y == lis[count][2]:
            count += 1
        else:
            return
    travel(t+1, x+1, y, count)
    travel(t+1, x-1, y, count)
    travel(t+1, x, y+1, count)
    travel(t+1, x, y-1, count)

travel(0, 0, 0, 0)
print("NO")


### FIXED CODE ###

# -*- coding:utf-8 -*-
N = int(input())

for i in range(N):
    t, x, y = map(int, input().split())
    if (x+y) > t or (x+y+t) % 2 == 1:
        print("No")
        exit()
print("Yes")
n=int(input())
w=[input()]
check=True
for i in range (1,n):
    x = input()
    if x in w or w[i-1][len(x[i-1])-1]!=x[0]:
        check=False
    w.append(x)
if check:
    print('YES')
else:
    print('NO')



### FIXED CODE ###

a=int(input())
x=[]
flag=0
for i in range(a):
    s=input()
    if i==0:
        x.append(s)
        continue
    #print(s,x[i-1])
    if s in x or x[i-1][len(x[i-1])-1]!=s[0] :
        x.append("1")
        flag=1
    else:
        x.append(s)
if flag == 0:
    print("Yes")
else:
    print("No")
L,R=map(int,input().split())

keep=L*R
for i in range(L,R+1):
  for j in range(i+1,R+1):
    mod=(i*j) % 2019
    if mod<keep:
      keep=mod
      j=j+2019
print(keep)

### FIXED CODE ###

N,A,B=map(int,input().split())
print(min(N*A,B))
_ = input()
S = input()
max_n = 0
temp = 0

for s in S:
  temp += 1 if s == 'I' else temp -= 1
  if max_n < temp:
    max_n = temp
    
print(max_n)

### FIXED CODE ###

_ = input()
S = input()
max_n = 0
temp = 0

for s in S:
  if s == 'I':
    temp += 1 
  else:
    temp -= 1
  
  if max_n < temp:
    max_n = temp
    
print(max_n)
T,X=map(int,input().split())
print(T/K)

### FIXED CODE ###

T,X=map(int,input().split())
print(T/X)
import numpy as np
def solve(string):
    n, m, *x = map(int, string.split())
    x = np.asarray(sorted(x))
    return str(sum(sorted(np.diff(x))[:-n+1]))



if __name__ == '__main__':
    print(solve("\n".join([input(), input()])))


### FIXED CODE ###

import numpy as np


def solve(string):
    n, m, *x = map(int, string.split())
    x = sorted(np.diff(sorted(x)))
    return str(sum(x)) if n == 1 else str(sum(x[:-n + 1]))


if __name__ == '__main__':
    print(solve("\n".join([input(), input()])))
n = int(input())
X = [0]*100000000
for i in range(n):
  a,b = map(int,input().split())
  p = b
  for j in range(a):
    while X[p]!=0:
      p-=1
      if p<0:
        print("No")
        exit()
    X[p]=1
    p-=1
    if p<0:
        print("No")
        exit()
print("Yes")

### FIXED CODE ###

n = int(input())
A=[]
for i in range(n):
  a,b = map(int,input().split())
  A.append((b,a))
A.sort()
c = 0
for a in A:
  c+=a[1]
  if c>a[0]:
    print("No")
    exit()
print("Yes")
while True :
    (H, W) = [int(i) for i in input().split()]

    if H == W == 0:
        break

    print('#' * W)
    for a in range(H - 2):
        print("#" + "." * (W - 2) + "#")
    print('#' * W)

    print()

### FIXED CODE ###

while True:
    (H, W) = [int(i) for i in input().split()]
    
    if H == W == 0 :
        break

    print('#' * W)
    for a in range(H - 2) :
        print('#' + '.' * (W - 2) + '#')
    print('#' * W)
    print()
N = int(input())
az = ['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']
def norm(n, in_list):
	out_list = []
	for line in in_list:
		for i in range(len(set(line))+1):
			new_line = line + alphabet[i]
			out_list.append(new_line)
	return out_list
init_line = ['a']
for _ in range(N-1):
	init_line = norm(1, init_line)
for line in init_line:
	print(line)

### FIXED CODE ###

N = int(input())
az = ['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']
def norm(n, in_list):
	out_list = []
	for line in in_list:
		for i in range(len(set(line))+1):
			new_line = line + az[i]
			out_list.append(new_line)
	return out_list
init_line = ['a']
for _ in range(N-1):
	init_line = norm(1, init_line)
for line in init_line:
	print(line)
def main():
    N,K = map(int, input().split())
    S =	input()
    if K == 1:
	print(S[0].lower() + S[1:])
    elif K == N:
	print(S[:N-1] + S[N-1].lower())
    else:
      	print(S[0:K-1] + S[K-1].lower() + S[K:])

if __name__ == '__main__':
    main()

### FIXED CODE ###

def main():
    N,K = map(int, input().split())
    S = input()
    if K == 1:
        print(S[0].lower() + S[1:])
    elif K == N:
        print(S[:N-1] + S[N-1].lower())
    else:
        print(S[0:K-1] + S[K-1].lower() + S[K:])

if __name__ == '__main__':
    main()
A,B,C,D,E,F=map(int,input().split())
x=[]
y=[]
for i in range(30//A+1):#Aの投入数
  for j in range(30//B+1):#Bの投入数
    water=A*i+B*j
    if water<=F: x+=[water]
for i in range(31):#Aの投入数
  for j in range(31):#Bの投入数
    salt=C*i+D*j
    y+=[salt]
best_water=0
best_salt=0
best_rate=0
for water in x:
  for salt in y:
    rate=100*salt/(water+salt)
    if rate>best_rate and rate<=E and water+salt<=F:
      best_rate=rate
      best_salt=salt
      best_water=water
print(best_water+best_salt,best_salt)

### FIXED CODE ###

A,B,C,D,E,F=map(int,input().split())
best_water=0
best_salt=0
best_rate=0
for i in range(30//A+1):#Aの投入数
  for j in range(30//B+1):#Bの投入数
    water=(i*A+j*B)*100
    if water<=F and water:
      max_salt=min(F-(i*A+j*B)*100,(i*A+j*B)*E)
      for k in range(max_salt//C+1):#Cを何個使うか
        l=(max_salt-C*k)//D#Dは何個つかえるか
        salt=k*C+l*D
        rate=100*salt/(water+salt)
        if rate>=best_rate and rate<=E and water+salt<=F:
          best_rate=rate
          best_salt=salt
          best_water=water
print(best_water+best_salt,best_salt)
n = list(input().split())


for i in range(2 ** 3):
    i2 = bin(i)[2:].zfill(3)
    i3 = n[0]
    total = int(n[0])
    for j in range(3):
        if i2[j] == '1':
            # plus
            total += int(n[j+1])
            i3 += '+'
        else:
            # minus
            total -= int(n[j+1])
            i3 += '-'
        i3 += n[j+1]

    if total == 7:
        break

print(i3 + '=7')


### FIXED CODE ###

n = input()

for i in range(2 ** 3):
    i2 = bin(i)[2:].zfill(3)
    i3 = n[0]
    total = int(n[0])
    for j in range(3):
        if i2[j] == '1':
            # plus
            total += int(n[j+1])
            i3 += '+'
        else:
            # minus
            total -= int(n[j+1])
            i3 += '-'
        i3 += n[j+1]

    if total == 7:
        break

print(i3 + '=7')
import numpy as np
N = int(input())
ans = np.sum(range(1,N))
print(ans)


### FIXED CODE ###

N = int(input())
print(N * (N - 1) // 2)
def check_words(w):
    if len(w) != len(set(w)):
        return False
    for i in range(n-1):
        if w[i][-1] != w[i+1][0]:
            return False
    return True

n = int(input())
w = list(map(str, input().split()))
ret = 'Yes' if check_words(w) else 'No'
print(ret)

### FIXED CODE ###

n = int(input())
w = [input() for i in range(n)]

if n != len(set(w)):
    print('No')
    exit()
for i in range(n-1):
    if w[i][-1] != w[i+1][0]:
        print('No')
        exit()

print('Yes')
val = a*n//b
for i in range(max(0,n//b - a), n//b):
    m = b*i - 1
    if (m > n) or (m < 0):
        continue
    else:
        val = max(val, (m*a)//b - i)
for i in range(max(0,n//b - a), n//b):
    m = b*i - 1
    if (m > n) or (m < 0):
        continue
    else:
        val = max(val, (m*a)//b - i)
        
print(val)

### FIXED CODE ###

a, b, n = map(int, input().split())
val = (a*n)//b - a*(n//b)
m = max(0,(n//b)*b-1)
val = max(val, (a*m)//b - a*(m//b))
print(val)
import operator as op
from functools import reduce
 
def ncr(n, r):
    r = min(r, n-r)
    numer = reduce(op.mul, range(n, n-r, -1), 1)
    denom = reduce(op.mul, range(1, r+1), 1)
    return numer / denom
 
 
N, K = list(map(int, input().split()))
 
def num(i):
    if i > N - K + 1:
        return 0
    else:
        num1 = int(ncr(N-K+1, i)) % (10**9 + 7)
        num2 = int(ncr(K-1, i-1)) % (10**9 + 7)
        num = (num1 * num2) % (10**9 + 7)
        return num
 
 
for i in range(1, K+1):
    print(num(i))

### FIXED CODE ###

import operator as op
from functools import reduce
 
def ncr(n, r):
    r = min(r, n-r)
    numer = reduce(op.mul, range(n, n-r, -1), 1)
    denom = reduce(op.mul, range(1, r+1), 1)
    return numer // denom
 
 
N, K = list(map(int, input().split()))
 
def num(i):
    if i > N - K + 1:
        return 0
    else:
        num1 = ncr(N-K+1, i) % (10**9 + 7)
        num2 = ncr(K-1, i-1) % (10**9 + 7)
        num = (num1 * num2) % (10**9 + 7)
        return num
 
 
for i in range(1, K+1):
    print(num(i))
a,b,c,d,e=[int(input()) for i in range(5)]
x=[]
y=[]
for s in [a,b,c,d,e]:
  if s%10 != 0:
    x.append(s%10)
  y.append(round(s,-1))
t=min(x)
if a%10==0 and b%10==0 and c%10==0 and d%10==0 and e%10==0:
  print(a+b+c+d+e)
else:
  ans = sum(y)
  ans= ans-10+t
  print(ans)

### FIXED CODE ###

import math
a,b,c,d,e=[int(input()) for i in range(5)]
x=[]
y=[]
def ceil(src, range):
  return ((int)(src / range) + 1 ) * range
for s in [a,b,c,d,e]:
  if s%10 != 0:
    x.append(s%10)
    t=min(x)
  if s<10:
    y.append(10)
  elif s%10==0:
    y.append(s)
  else:
    y.append(ceil(s,10))
if a%10==0 and b%10==0 and c%10==0 and d%10==0 and e%10==0:
  print(a+b+c+d+e)
else:
  ans = sum(y)
  ans= ans-10+t
  print(ans)
# encoding: 'utf-8'

N = int(input())
ls = list()
for _ in range(N):
    e = sorted([int(x) for x in split(input())])
    if e in ls:
        continue
    else:
        ls.append(e)
print(N - len(ls))

### FIXED CODE ###

# encoding: 'utf-8'

N = int(input())
ls = list()

for _ in range(N):
    e = sorted([int(x) for x in input().split()])
    if e in ls:
        continue
    else:
        ls.append(e)
print(N - len(ls))