Сжатие строк по правилу последовательных групп

Rust Сложный strings

Задача «Сжатие строк по правилу последовательных групп»

Дана строка, состоящая из строчных латинских букв. Необходимо реализовать алгоритм сжатия строки: если в строке встречается группа одинаковых символов длиной больше 1, то эта группа заменяется на символ и количество повторений (число записывается без ведущих нулей). Если группа состоит из одного символа, то она остаётся без изменений. Выведите полученную сжатую строку. Длина исходной строки не превышает 10^5.

Формат ввода

На вход подаётся одна строка S, состоящая из строчных латинских букв (a-z). Длина строки от 1 до 10^5.

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

Выведите одну строку — сжатую версию исходной строки.

Примеры

Пример 1

ВВОД
abc
ВЫВОД
abc

Пример 2

ВВОД
aabbaa
ВЫВОД
a2b2a2

Пример 3

ВВОД
97 98 99 97 98 99
ВЫВОД
97 98 92 97 98 92
main.rs