Задача B. Кластер

Автор:А. Жуплев, А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:8 Мб
Выходной файл:output.txt  

Условие

Несмотря на быстрый рост производительности компьютеров, некоторые вычислительные задачи по прежнему требуют долгих расчётов. Дешёвым и эффективным методом решения части таких задач являются вычислительные кластеры. Кластер — это группа разнородных компьютеров, связанных локальной сетью, между которыми распределяется работа. Кластер обычно имеет центральный сервер, который занимается разделением исходной задачи на подзадачи и сбором решения из частичных решений, полученных компьютерами, входящими в кластер.

Пусть кластер состоит из N компьютеров и сервера. Компьютеры имеют разную производительность, так что i-й компьютер заканчивает расчёт одной подзадачи за ti секунд. По окончании расчёта компьютер отправляет результаты на сервер, получает в ответ следующую подзадачу, тратит на неё ещё ti секунд, и т.д. Таким образом, в одну секунду на сервер могут прийти ответы от нескольких компьютеров.

Поскольку количество компьютеров в кластере можно легко наращивать, центральный сервер часто становится узким местом, ограничивающим общую производительность. Требуется написать программу, которая определит, через сколько секунд после начала работы кластера нагрузка на сервер впервые достигнет максимума — все N компьютеров одновременно отправят ответы на сервер.

Формат входного файла

Во входном файле содержится число N, за которым следуют N чисел t1… tN.

Формат выходного файла

В выходном файле должно содержаться количество секунд до максимальной загрузки. Так как это число может быть очень велико, оно должно быть выведено в виде разложения на простые множители. При этом множители должны быть отсортированы по возрастанию и разделяться символом '*' (ASCII 42). Если степень вхождения простого числа больше единицы, следует указать её вслед за числом, разделив их символом '^' (ASCII 94).

Например: число 25 будет иметь вид: 5^2, а число 3000 — 2^3*3*5^3.

Ограничения

1 ≤ N ≤ 106, 1 ≤ ti ≤ 106

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2
2 3
2*3
2
3 18 18 18
2*3^2

0.044s 0.013s 15