#include int t,n,i,s,c; /* int poly[102]; int hodnota(int x) { int ret = 0; int xx = 1; for (int ii = 0; ii < 101; ii++) { ret += poly[ii]*xx; xx *= x; } return ret; } */ int pole[103][103]; int main() { scanf("%d ", &t); for (i = 0; i < t; i++) { scanf("%d %d ", &s, &c); /* for (int j = 0; j < 102; j++) poly[j] = 0; */ int value; for (int j = 0; j < s; j++) { scanf("%d ", &value); pole[0][j] = value; } for (int r = 1; r <= s; r++) { for (int stlp = 0; stlp <= s - r - 1; stlp++) { pole[r][stlp] = pole[r-1][stlp+1] - pole[r-1][stlp]; } } int j = s+1; for (; c>0; c--) { pole[j-1][0] = 0; for (int r = j-2; r >= 0; r--) { pole[r][j-1-r] = pole[r][j-2-r] + pole[r+1][j-2-r]; } printf("%d", pole[0][j-1]); if (c == 1) printf("\n"); else printf(" "); j++; } /* for (j=0;j<10;j++) { for(int stlp=0;stlp<10;stlp++) printf("%3d ",pole[j][stlp]); printf("\n"); } */ } return 0; }