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.