Декодирование цепочек с повторениями

Python Сложный strings

Задача «Декодирование цепочек с повторениями»

Дана закодированная строка, состоящая из букв латинского алфавита (a-z) и цифр (0-9). Кодирование происходит по правилу: если за буквой следует число, то эта буква повторяется указанное количество раз. Если число отсутствует, буква считается один раз. Числа могут быть многозначными. Необходимо декодировать строку и вывести результат. Длина исходной строки не превышает 10^5, длина декодированной строки может быть до 10^9, поэтому нельзя формировать всю строку в памяти. Выводить результат нужно по частям, не сохраняя целиком.

Формат ввода

Одна строка, содержащая закодированную последовательность.

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

Декодированная строка (выводится целиком, но не должна храниться в памяти целиком).

Примеры

Пример 1

ВВОД
x10y
ВЫВОД
xxxxxxxxxxy

Пример 2

ВВОД
z
ВЫВОД
z
main.py