Los habitantes de Primolandia utilizan para representar los
números naturales su descomposición en factores primos. En vez
de escribir los números como nosotros, escriben la lista de sus factores
primos de mayor a menor, con sus respectivos exponentes. Así por ejemplo,
en vez de 12 escriben "3 1 2 2" (ya que 12=31 x 22)
; en vez de 25, "5 2" y en vez de 469625 , "17 2 13 1 5 3".
Con este sistema de numeración, los niños de Primolandia
aprenden enseguida a hacer ciertas operaciones, como la multiplicación
o la división entera exacta; pero tardan bastante en dominar otras.
Recientemente, un director de escuela de Primolandia ha pasado
unas vacaciones en Computerland. Allí descubrió unos curiosos
mecanismos, que llaman "ordenadores", y que podrían facilitar
las operaciones con su sistema de numeración. Pero para ello, tendrían
que disponer de programas adecuados.
A modo de prueba, han decidido encargar un programa que realice
la división entera exacta con su sistema de numeración.
Objetivo
Escribe un programa que realice esta operación tomando
los operandos y escribiendo el resultado con el sistema de numeración
utilizado en Primolandia.
Entrada
Los datos de entrada los cogerá el programa de un archivo
de texto (ASCII) de nombre "PRIM.DAT". Este fichero tendrá
la siguiente estructura:
- Los dos operandos para cada división que haya que realizar
estarán representados en dos líneas consecutivas del archivo.
Es decir, la primera y la segunda línea contendrán respectivamente
el dividendo y el divisor para la primera operación; la tercera y la
cuarta (si las hubiera) contendrán respectivamente el dividendo y el
divisor de la segunda operación, etc. Siempre habrá al menos una
operación para realizar.
- Los operandos, que serán siempre números enteros mayores o iguales
que 2, se representarán como se ha indicado anteriormente. Es decir,
mediante la sucesión de pares (factor primo, exponente) que corresponda
a su descomposición en factores primos, ordenados por orden estrictamente
decreciente de factores. Los números de esta sucesión irán
separados por espacios en blanco simples.
- Todos los factores serán números primos mayores que 1 y menores
que 232. Todos los exponentes serán mayores o iguales que 1 y menores
que 232.
Salida
La salida del programa deberá grabarse en un archivo de
texto (ASCII) de nombre "PRIM.RES". Este archivo contendrá
una línea por cada operación planteada en el fichero de entrada.
Cada línea contendrá el resultado de la división correspondiente
(escrito en la notación de Primolandia de la misma manera que los datos
de entrada) si se puede hacer la división exacta (es decir, la división
entera con resto 0). Para las divisiones que no den un resultado exacto, la
línea de solución correspondiente contendrá la expresión
"NO DIVISIBLE" (escrita exactamente así).
Ejemplo de entrada
3 1 2 2
2 1
3 1 2 2
5 1 2 1
Ejemplo de salida
3 1 2 1
NO DIVISIBLE |