Filtración y agregación de datos multinivel con expresiones lambda

Kotlin Hard lambdas

Tarea «Filtración y agregación de datos multinivel con expresiones lambda»

Escriba un programa en Kotlin que lea desde la entrada estándar una lista de cadenas. Cada cadena contiene números separados por espacios. Utilizando expresiones lambda y funciones de orden superior (map, filter, reduce, takeWhile, dropWhile, etc.), se deben realizar las siguientes acciones: filtrar las cadenas en las que la cantidad de números sea múltiplo de 2, luego de cada una de esas cadenas seleccionar solo los números positivos (mayores que cero), y después para cada cadena calcular el producto de todos los números seleccionados, elevado a una potencia igual a la cantidad de números en la cadena original. Si después del filtrado no quedan números en la cadena, considerar el producto igual a 0. Mostrar los resultados en orden ascendente. Restricciones: la cantidad de cadenas no supera 100, cada número en valor absoluto no supera 1000.

Formato de entrada

La primera línea contiene un número entero N (1 ≤ N ≤ 100) — la cantidad de cadenas. Luego siguen N líneas, cada una de las cuales contiene números enteros separados por espacios. La cantidad de números en una línea no supera 50.

Formato de salida

Imprima N números enteros — los resultados del procesamiento de cada cadena, ordenados de forma ascendente, cada uno en una nueva línea.

Ejemplos

Ejemplo 1

ENTRADA
3 User Alice 25 Address Moscow Tverskaya Product 1 Laptop 999.99
SALIDA
Для данного ввода задача не определена, так как строки не содержат только числа.

Ejemplo 2

ENTRADA
1 User Bob 30
SALIDA
Для данного ввода задача не определена, так как строка не содержит только числа.
main.kt