from itertools import chain, combinations

# powerst from: https://stackoverflow.com/questions/1482308/how-to-get-all-subsets-of-a-set-powerset?fbclid=IwAR3Sxx3F-w2uSsN6jJ8t_A3xUDnqFs_7yWXHVJrKiqZtJbxzst1H--FGUvw
def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))

def problem():
    z = input().strip().split()
    N, K = int(z[0]), int(z[1])
    items = input().strip().split()
    for i in range(N):
        items[i] = int(items[i])
    
    ps = list(powerset(items))
    
    sums = []
    for subset in ps:
        sums.append(sum(subset))

    output = [[0 for i in range(N - 1)] for j in range(N)]
    for j in range(len(items)):
        for i in range(len(items)):
            if items[j] + sums[i] > K and sums[i] <= K:
                output[j][len(ps[i])] += 1
    
    for riadok in output:
        for cislo in riadok:
            print(cislo, end=" ")
        print()



            
problem()

