Cálculo del producto máximo de una subsecuencia con división en factores primos

TypeScript Hard math

Tarea «Cálculo del producto máximo de una subsecuencia con división en factores primos»

Dada una secuencia de números enteros a1, a2, ..., an. Es necesario encontrar el producto máximo de una subsecuencia (no necesariamente continua) de longitud k, donde k es dado. Se permite dividir los elementos en sus factores primos, pero no más de una vez por elemento. Es decir, para cada elemento se puede tomar completo, o reemplazarlo por uno de sus factores primos (si no es un número primo), y solo después usarlo en el producto. Si el elemento es un número primo, solo se puede tomar completo o no tomarlo. Se requiere mostrar el producto máximo posible módulo 10^9+7.

Formato de entrada

La primera línea contiene dos números enteros n y k (1 ≤ k ≤ n ≤ 1000). La segunda línea contiene n números enteros a_i (2 ≤ a_i ≤ 10^9).

Formato de salida

Imprima un número entero — el producto máximo módulo 10^9+7.

main.ts