def szukaj_sasiadow():
    pass
def powerset(s):
    x = len(s)
    masks = [1 << i for i in range(x)]
    for i in range(1 << x):
        yield [ss for mask, ss in zip(masks, s) if i & mask]

data = list(map(int, input().split()))
przedmioty = list(map(int, input().split()))
podzbiory =list(powerset(przedmioty))
powtorzenia = []
for item in przedmioty:
    powtorzenia.append(przedmioty.count(item))

wlasciwy_zbior = []

for x in podzbiory:
    if sum(x)<=data[1]:
        wlasciwy_zbior.append(x)
wlasciwy_zbior = wlasciwy_zbior[1::]
print(wlasciwy_zbior)

dlugosc = len(przedmioty)
for a in range(dlugosc):
    ilosci = [0 for _ in range(dlugosc-1)]
    print("przedmiot: ", a)

    ilosc = 0
    rozwiazania = []
    for c in wlasciwy_zbior:
        if sum(c)+ przedmioty[a] >data[1] and c.count(przedmioty[a]) < powtorzenia[a]:
            if c in rozwiazania:
                continue
            rozwiazania.append(c)
            ilosci[len(c)-1]+=1
    print(' '.join(map(str, ilosci)))





