Сложная цепочка опциональных значений с неявными приведениями

Swift Сложный optionals

Задача «Сложная цепочка опциональных значений с неявными приведениями»

Дана строка, содержащая целые числа, разделенные пробелами, и слово "nil" для обозначения отсутствия значения. Необходимо распарсить строку в массив опциональных целых чисел (Int?), затем для каждого элемента выполнить следующую последовательность: если значение есть, возвести его в квадрат, иначе оставить nil. После этого для каждого элемента, если он не nil, извлечь значение, преобразовать в строку и записать в результирующий массив строк, иначе записать "nil". Вывести полученный массив строк через пробел. Решение должно быть реализовано с использованием опциональных цепочек (optional chaining) и операторов объединения по nil (nil-coalescing).

Формат ввода

Одна строка, содержащая целые числа и слово "nil", разделенные одним пробелом. Длина строки не превышает 1000 символов.

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

Строка, содержащая результат обработки — числа (преобразованные в строки) или слово "nil", разделенные одним пробелом.

main.swift