F. Полином
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
64 megabytes
ввод
stdin
вывод
stdout

Вам задан полином в форме p(x) = (x + a1)·(x + a2)·... (x + an). Напишите программу на языке Pike, которая выведет его в стандартном виде p(x) = xn + b1xn - 1 + ... + bn - 1x + bn. Каждое слагаемое должно иметь вид «C*X^K» (например, 5*X^8).

Напишите программу, которая выводит кратчайшую из подобных записей, то есть вы должны опустить необязательные элементы вывода — некоторые слагаемые «C*X^K» могут быть выведены в сокращенном виде или даже опущены. Тесты из условия поясняют задание.

Входные данные

Первая строка содержит целое n (1 ≤ n ≤ 9). Следующие n строк содержат по целому числу ai ( - 10 ≤ ai ≤ 10).

Выходные данные

Выведите многочлен в требуемой форме. Заметим, что в этой задаче ответ определяется однозначно.

Примеры
Входные данные
2
-1
1
Выходные данные
X^2-1
Входные данные
2
1
1
Выходные данные
X^2+2*X+1