{
TASK:trains
LANG:PASCAL
}
var a:array[1..9,1..9]of integer;
n,m,i,j,p,c,f,br,br2 :integer;
begin
readln(n,m);
for i:=1 to n do begin
for j:=1 to 3 do begin
read(a[i][j]); end;
readln; end;
for i:=1 to n do BEGIN
p:=a[i][1];
c:=a[i][2];
f:=a[i][3];
if p=0 then begin
for j:=1 to m do begin write('#'); end;
writeln; continue; end
ELSE BEGIN
br:=0;
for j:=1 to (p-1) do begin write('#'); end; br:=br+(p-1);
write('(H H]');
br:=br+5;
for j:=1 to c do begin write('[XXX]'); end; br:=br+(c*5);
for j:=1 to f do begin write('(O O)'); end; br:=br+(f*5);
br2:=m-br;
for j:=1 to br2 do begin write('#'); end;
writeln; END; END;
end.
