Многоуровневая фильтрация и агрегация данных с помощью лямбда-выражений

Kotlin Сложный lambdas

Задача «Многоуровневая фильтрация и агрегация данных с помощью лямбда-выражений»

Напишите программу на Kotlin, которая считывает из стандартного ввода список строк. Каждая строка содержит числа, разделённые пробелом. Необходимо с помощью лямбда-выражений и функций высшего порядка (map, filter, reduce, takeWhile, dropWhile и т.п.) выполнить следующие действия: отфильтровать строки, в которых количество чисел кратно 2, затем из каждой такой строки выбрать только положительные числа (больше нуля), после чего для каждой строки вычислить произведение всех выбранных чисел, возведённое в степень, равную количеству чисел в исходной строке. Если после фильтрации в строке не осталось чисел, считать произведение равным 0. Результаты вывести в порядке возрастания. Ограничения: количество строк не превышает 100, каждое число по модулю не более 1000.

Формат ввода

Первая строка содержит целое число N (1 ≤ N ≤ 100) — количество строк. Затем следуют N строк, каждая из которых содержит целые числа, разделённые пробелами. Количество чисел в строке не превышает 50.

Формат вывода

Выведите N целых чисел — результаты обработки каждой строки, отсортированные по возрастанию, каждое на новой строке.

Примеры

Пример 1

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

Пример 2

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