\begin{problem}{Свертка}{folding.in}{folding.out}{2 секунды}{64 мегабайта}

Петя хочет сократить запись последовательности, состоящей из заглавных латинских букв.
Для этого он может свернуть ее повторяющиеся подпоследовательности. Например, последовательность
\texttt{AAAAAAAAAABABABCCD} может быть записана как \texttt{10(A)2(BA)B2(C)D}.

Формальной определение свернутой последовательности и соответствующей ей операции
развертки дается следующим образом:
\begin{itemize}
\item Последовательность, которая содержит единственный символ от
\texttt{'A'} до \texttt{'Z'} представляет из себя свернутую последовательность.
При развертке такой последовательности получается она сама.
\item Если $S$ и $Q$ --- свернутые последовательности, то $SQ$ также свернутая последовательность.
Если при развертке строки $S$ получается строка $S'$, а при развертке $Q$ получается $Q'$, то
при развертке $SQ$ получается строка $S'Q'$.
\item Если $S$ --- свернутая последовательность, то $X(S)$ также свернутая последовательность,
где $X$ это десятичное представление целого числа большего единицы.
Если при развертке строки $S$ получается строка $S'$, то при развертке $X(S)$ получается
строка $S'$, повторенная $X$ раз.
\end{itemize}

Петя хочет свернуть заданную последовательность таким образом, чтобы результат
содержал наименьшее число символов.

\InputFile

Входной файл содержит непустую строку, состоящую из заглавных латинских букв.
Длина строки не превышает 100 символов.

\OutputFile

В выходной файл выведите одну строку, содержащую наименьшую последовательность
развертка которой даст строку, заданную во входном файле.

Если ответов несколько --- выведите любой из них.


\Example

\begin{example}
\exmp{
AAAAAAAAAABABABCCD
}{
9(A)3(AB)CCD
}%
\exmp{
NEERCYESYESYESNEERCYESYESYES
}{
2(NEERC3(YES))
}%
\end{example}

\end{problem}