#include <bits/stdc++.h>
using namespace std;
int main() {
int N,K;
cin>>N>>K;
int arr[N+1];
for(int i=1;i<=N;i++){
cin >> arr[i];
}
sort(arr+1,arr+N+1);
int prS[N+1];
prS[0]=0;
for(int i=1;i<=N;i++){
prS[i]=prS[i-1]+arr[i];
}
int ans[N+1][K+1]={}; // 學生 個數 求該學生數量拿到該個數的可能有幾種
int prs[N+1][K+1]={};
for(int i=0;i<=arr[1];i++){
ans[1][i]=1;
prs[1][i]+=prs[1][i-1];
}
for(int i=2;i<=N;i++){
ans[i][0]=1;
int num=prS[i]-prS[i-1];
for(int j=1;j<=prS[i];j++){
ans[i][j]=ans[i][j-1]+ans[i-1][j];
}
}
for(int i=1;i<=N;i++){
for(int j=0;j<=K;j++){
cout << ans[i][j] << ' ';
}cout << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBOLEs7CgljaW4+Pk4+Pks7CglpbnQgYXJyW04rMV07Cglmb3IoaW50IGk9MTtpPD1OO2krKyl7CgkJY2luID4+IGFycltpXTsKCX0KCXNvcnQoYXJyKzEsYXJyK04rMSk7CglpbnQgcHJTW04rMV07CglwclNbMF09MDsKCWZvcihpbnQgaT0xO2k8PU47aSsrKXsKCQlwclNbaV09cHJTW2ktMV0rYXJyW2ldOwoJfQoJaW50IGFuc1tOKzFdW0srMV09e307IC8vIOWtuOeUnyDlgIvmlbgg5rGC6Kmy5a2455Sf5pW46YeP5ou/5Yiw6Kmy5YCL5pW455qE5Y+v6IO95pyJ5bm+56iuCglpbnQgcHJzW04rMV1bSysxXT17fTsKCWZvcihpbnQgaT0wO2k8PWFyclsxXTtpKyspewoJCWFuc1sxXVtpXT0xOwoJCXByc1sxXVtpXSs9cHJzWzFdW2ktMV07Cgl9Cglmb3IoaW50IGk9MjtpPD1OO2krKyl7CgkJYW5zW2ldWzBdPTE7CgkJaW50IG51bT1wclNbaV0tcHJTW2ktMV07CgkJZm9yKGludCBqPTE7ajw9cHJTW2ldO2orKyl7CgkJCWFuc1tpXVtqXT1hbnNbaV1bai0xXSthbnNbaS0xXVtqXTsKCQl9Cgl9Cglmb3IoaW50IGk9MTtpPD1OO2krKyl7CgkJZm9yKGludCBqPTA7ajw9SztqKyspewoJCQljb3V0IDw8IGFuc1tpXVtqXSA8PCAnICc7CgkJfWNvdXQgPDwgJ1xuJzsKCX0KfQ==