program complete; var P: array [0..100, 0..100] of Integer; First: Boolean; C: Integer; I: Integer; J: Integer; S: Integer; T: Integer; begin Read(T); while T <> 0 do begin Dec(T); Read(S, C); for I := 1 to S do Read(P[0, I]); for I := 1 to S do begin P[I, 1] := P[I - 1, 1]; for J := 2 to S do P[I, J] := P[I - 1, J] - P[I - 1, J - 1]; end; for I := S + 1 to S + C do P[S, I] := 0; for I := S downto 1 do for J := S + 1 to S + C do P[I - 1, J] := P[I - 1, J - 1] + P[I, J]; First := True; for I := S + 1 to S + C do begin if First then First := False else Write(' '); Write(P[0, I]); end; Writeln; end; end.