#include <stdio.h>
#include <string.h>
const int N = 2002;
int dp[N];
int dp2[N];
int n,m;
int nums[N];
void ZeroOnePage()
{
}
void Test()
{
for(int i = 1; i<= n; ++i)
{
scanf("%d",&nums[i]);
}
memset(dp,0,sizeof(dp));
memset(dp2,0,sizeof(dp2));
dp[0] = 1;
for(int i = 1; i <= n; ++i)//前i个物品
{
for(int j = m; j >= nums[i]; --j)
{
dp[j] = (dp[j] + dp[j - nums[i]])%10;
}
}
for(int j = 0; j <= m; ++j)
dp2[j] = dp[j];
for(int i = 1; i <= n; ++i)//前i个物品
{
for(int j = nums[i]; j <= m; ++j)
{
dp2[j] = ((dp[j] - dp2[j - nums[i]])%10 + 10)%10;
}
for(int j = 1; j <= m; ++j)
{
printf("%d",dp2[j]);
}
printf("\n");
for(int j = 0; j <= m; ++j)
dp2[j] = dp[j];
}
}
int main()
{
while(scanf("%d %d",&n,&m) != EOF)
{
Test();
}
return 0;
}