Copiado al portapapeles
Descripción
Enigma fue una maquina de cifrado y descifrado de mensajes en los años 20's usada especialmente por la milicia alemana en la primera y segunda guerra mundial. Como es sabido, Alan Turing y sus compañeros lograron derrotar a Enigma con lo que ayudaron a poner la balanza a favor de los Aliados.
Ahora el malvado doctor Aigner partidario de la NPD (Nationaldemokratische Partei Deutschlands) intenta volver a reunir el III Reich y así dominar el mundo.
Como miembro honorario de la ACM (Academia de Cifrado Militar) tu trabajo es decodificar algunos de los muchos mensajes que llegan cada día y son interceptados por la ACM.
Específicamente tu trabajo es descubrir el significado de mensajes que sólo contienen números. Se cree que estas son coordenadas que revelan la posición de los conocidos U-boats, que son submarinos gigantes y muy poderosos usados por los nazis. También se cree que Enigma codifica un número de la siguiente manera:
Toma un número X cualquiera (el número que desea codificar) y genera un conjunto A que contiene N distintos números primos tal que la suma de esos números sea igual a X. El siguiente paso es muy extraño ya que genera un número Y (resultado de codificar X), al parecer aleatorio, tal que tenga como factores primos a todos los elementos de A.
Dado Y tu trabajo es encontrar el número original X. Tienes que darte prisa y ten en cuenta que los mensajes que llegan son miles y miles por día.
Entrada
La primera linea contiene un número entero T (1 <= T <= 20 000) el cual es la cantidad de números a decodificar por hoy. Las siguientes T lineas contienen los valores de Y (2 <= Y <= 1 000 000) números enteros los cuales debes decodificar.
Salida
Imprimir el valor de X, por linea, correspondiente a cada entrada Y.
Ayuda
Con una criba generar los primos necesarios para 1000000,
luego buscar sus factores primos y
sumar sus factores.
(Solo se debe sumar una sola vez cada numero primo)