Imprimir el rectángulo

Para un display comercial, como el que se ve en la imagen de abajo, se necesita poder imprimir rectángulos de dimensiones arbitrarias.

Un display comercial

Un display comercial

En la entrada estándar se proveerán cuatro valores:

  1. El ancho del rectángulo.
  2. El alto del rectángulo.
  3. El carácter para dibujar el rectángulo.
  4. Un booleano que indica si el rectángulo debe estar relleno (1) o no (0).

Si en lugar del ancho y el alto sólo se especifica un único valor, se quiere que se imprima un cuadrado. Si alguna de las dimensiones es negativa o no válida, se debe imprimir invalid data. Si alguno de los valores requeridos está ausente se debe imprimir missing data.

Entrada de ejemplo:

5 3 * 0

Salida de ejemplo:

*****
*   *
*****

En caso de que se provea un cuadrado cuyo carácter para dibujar es un dígito, el programa debe tratar el dígito como el alto de un rectángulo.