Como probablemente sabrás, uno de los modos más conocidos (si bien, no el único) de describir un color es el modelo RGB (Red-Green-Blue), que describe la intensidad de los colores primarios que forman el color. Típicamente, la intensidad de cada color primerario se da con un byte de información (0-255), donde 0 indica la mínima intensidad y 255 la máxima. Por ejemplo, el color (0,255,0) es verde, y los colores (255,255,0) (rojo y verde) y (0,255,255) (verde y azul) dan lugar a los colores amarillo y cyan.
En el lenguaje HTML, los colores (las tuplas de 3 valores de 0 al 255) se describen en notación hexadecimal usando exactamente 7 caracteres, en la forma #rrggbb, donde rr (respectivamente, gg y bb) es la codificación en hexadecimal del valor 0−255 correspondiente a la intensidad del rojo (respectivamente, verde y azul). Los números hexadecimales son aquellos donde usamos base 16 (0,1,…,9,a,b,c,d,e,f) en vez de base 10. Los números del 0 al 255 se representan, en hexadecimal, del siguiente modo:
00, 01, 02, 03, …, 09, 0a, 0b, 0c, 0d, 0e, 0f, 10, 11, …, 1e, 1f, 20, 21, …, fc, fd, fe, ff. |
¿Te atreves a hacer un programa que sea capaz de convertir los colores de uno a otro formato?
Entrada
Una secuencia de casos de prueba, cada uno de los cuales ocupa una línea. Cada caso de pruebas empieza con una palabra (NORMAL o HTML) seguido de la descripción del color (tres enteros 0−255 separados por espacios en el primer caso, y siete caracteres de la forma #rrggbb en el segundo).
Salida
Para cada caso de pruebas, escribe la traducción del color descrito al otro formato.
Puntuación
Input
NORMAL 0 0 0 NORMAL 1 2 3 NORMAL 9 10 11 NORMAL 15 16 17 NORMAL 231 42 212 NORMAL 128 129 101 NORMAL 248 249 250 NORMAL 255 255 255
Output
#000000 #010203 #090a0b #0f1011 #e72ad4 #808165 #f8f9fa #ffffff
Input
HTML #000000 HTML #ffffff HTML #091011 HTML #090a0b HTML #abbacc HTML #abcdef HTML #a9aa9c
Output
0 0 0 255 255 255 9 16 17 9 10 11 171 186 204 171 205 239 169 170 156