Filtragem multinível e agregação de dados com expressões lambda

Kotlin Hard lambdas

Tarefa «Filtragem multinível e agregação de dados com expressões lambda»

Escreva um programa em Kotlin que lê da entrada padrão uma lista de strings. Cada string contém números separados por espaço. É necessário usar expressões lambda e funções de ordem superior (map, filter, reduce, takeWhile, dropWhile etc.) para executar as seguintes ações: filtrar as strings cuja quantidade de números seja múltipla de 2; em seguida, de cada uma dessas strings, selecionar apenas os números positivos (maiores que zero); depois, para cada string, calcular o produto de todos os números selecionados, elevado à potência igual à quantidade de números na string original. Se após a filtragem não restarem números na string, considerar o produto igual a 0. Exibir os resultados em ordem crescente. Restrições: a quantidade de strings não excede 100, e cada número em módulo não é maior que 1000.

Formato de Entrada

A primeira linha contém um número inteiro N (1 ≤ N ≤ 100) — a quantidade de strings. Em seguida, vêm N strings, cada uma contendo números inteiros separados por espaços. A quantidade de números em cada string não excede 50.

Formato de Saída

Exiba N números inteiros — os resultados do processamento de cada string, ordenados em ordem crescente, cada um em uma nova linha.

Exemplos

Exemplo 1

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

Exemplo 2

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