#include #include int Y[101]; double OM[101][101]; int S,C; double omega(int i, int co) { int j; double vys=1.0; for (j=1; j<=S; j++) if (i!=j) vys*=(co-j); return vys; } double oomega(int i, int co) { int j; double vys=1.0; for (j=1; j<=S; j++) if (i!=j) vys*=(co-j); return vys / OM[i][i]; } void napln() { int i; for (i=0;i<=100;i++) { OM[i][i] = omega(i,i); } } void bagr() { int i,j,k,vysi; double vys; scanf("%d %d",&S,&C); for (i=1; i<=S; i++) scanf("%d",&Y[i]); napln(); for (j=1; j<=C; j++) { vys=0.0; for (k=1;k<=S;k++) { vys += Y[k] * oomega(k,S+j); } vysi = (int)vys; printf("%d ", vysi); } puts(""); } int main() { int c, i; scanf("%i", &c); for (i = 0; i < c; i++) bagr(); return 0; }