Te han contratado para que programes el gestor de ventanas del nuevo sistema operativo favorito de todo el mundo, el Windows Vista-ZO. La pantalla del nuevo Windows es un plano cuadriculado virtualmente infinito; la parte visible de la pantalla es un recuadro rectangular de 40 por 10 bloques. La cuadrícula que ocupa la esquina inferior izquierda de la parte visible tiene coordenadas (0,0), la superior derecha tiene coordenadas (39, 9). Los bloques de la pantalla pueden estar vacíos (esto se marca con el carácter .) u ocupados por una ventana. Inicialmente la pantalla está vacía y el cursor ocupa la posición (0,9).
Las ventanas se dibujan una detrás de otra. Una ventana ocupa (sobreescribe) los bloques que pudiera ocupar una ventana anterior. Cada ventana es una región rectangular que debe dibujarse del siguiente modo (los ejemplos de la página siguiente facilitan la comprensión):
Tu cometido es hacer un programa que dibuje cómo quedaría la parte visible de la pantalla después de que se ejecuten diversas órdenes de dibujado de ventanas. En particular, las órdenes posibles son:
El cursor puede desplazarse fuera de la pantalla; las ventanas dibujadas no tienen porqué empezar a dibujarse dentro de la pantalla, y no tienen porqué caber dentro de la pantalla en su totalidad.
Entrada
La primera línea contiene el natural n≥ 0 (el número total de casos a tratar). Cada caso consiste en una línea con el natural m≥ 0 (el número de órdenes a ejecutar) seguido de m líneas, cada una de las cuales contiene una orden a ejecutar, siguiendo el formato descrito anteriormente. Durante el transcurso de las órdenes de dibujo, las coordenadas del cursor siempre cumplen |x|<106 y |y|<106.
Salida
Tu programa debe imprimir 10 líneas de 40 caracteres por cada caso a tratar. Separa dos casos con una línea que contenga únicamente una coma (,). Por lo tanto, si n>0 la salida debe tener exactamente 10n+(n−1) líneas.
Input
0
Output
Input
1 0
Output
........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................
Input
2 1 DRAW 40 10 0
Output
#======================================# !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! !11111111111111111111111111111111111111! #--------------------------------------# , ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ........................................
Input
2 11 DRAW 10 10 MOVREL 3 -3 DRAW 10 10 MOVREL 3 -3 DRAW 10 10 MOVREL 3 -3 DRAW 10 10 MOVREL 3 -3 DRAW 10 10 MOV 2 7 DRAW 6 6 22 MOVREL 500000 500000 DRAW 10 10 DRAW 100 100 DRAW 4 4 DRAW 10 10 MOVREL 0 0 MOVREL -500000 -500000 DRAW 10 10 MOVREL 4999990 500010 DRAW 100 40 MOV -2 12 DRAW 6 6 MOV 36 12 DRAW 6 6 MOV -2 3 DRAW 6 6 MOV 36 3 DRAW 6 6 MOVREL -20 7 DRAW 6 6 MOVREL 10 0 DRAW 3 3
Output
#========#.............................. !11111111!.............................. !1#====#1!.............................. !1!6666!====#........................... !1!6666!2222!........................... !1!6666!2222!........................... !1!6666!=======#........................ !1#----#3333333!........................ !11!22!33333333!........................ #--!22!33#========#..................... , 777!=====#......!1111!....!2!.......!888 777!55555!......!1111!....#-#.......!888 ---#55555!......!1111!..............#--- !55555555!......!1111!.................. !55555555!......#----#.................. !55555555!.............................. ===#55555!..........................#=== 999!55555!..........................!000 999!55555!..........................!000 999!-----#..........................!000