#include #define MAX 200 double a[MAX]; int n, S, C; int val(int x) { double res, powx; int i; if (n < 0) return 0; res = a[0]; powx = 1; for (i = 1; i <= n; i++) { powx *= x - i; res += a[i] * powx; } return (int) (res + .5); } int main() { int tests; scanf("%d", &tests); while (tests--) { int s, c; scanf("%d%d", &S, &C); n = -1; for (s = 1; s <= S; s++) { int wn = val(s); int xs, i; int diff; scanf("%d", &xs); diff = xs - wn; n++; a[n] = diff; for (i = 1; i <= n; i++) a[n] /= s - i; } for (c = 1; c <= C; c++) printf("%d ", val(S + c)); printf("\n"); } return 0; }