eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Поліном

Поліном

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB

Деякий многочлен подано у вигляді добутку двочленів первшого степеня виду (x + a[1] ) * (x + a[2]) * ... * (x + a[n]). Вивести цей многочлен у стандартній формі x^n + b[1] * x^(n-1) + ... + b[n-1] * x + b[n]. При цьому c * x^k виводиться як c * x^k (наприклад 5 * x^8), але якщо коефіцієнт c дорівнює 0, то доданок не виводиться, якщо |c| дорівнює 1, а k > 0, то виводиться лише знак коефіцієнта c (наприклад -x^3). Якщо k = 1, то степінь не виводиться (наприклад 5 * x), а якщо k = 0, то виводиться лише c. Доданки повинні виводитись у порядку зменшення степеня множника x^k.

Вхідні дані

Перший рядок містить кількість двочленів n (1n9), далі йде n рядків, у кожному рядку по одному цілому числу від -10 до 10 - коефіцієнти a[i] перемножуваних двочленів.

Вихідні дані

Вивести многочлен у вказаній стандартній формі. В якості X використовується велика латинська літера.

Приклад

Вхідні дані #1
2
-1
1
Вихідні дані #1
X^2-1
Вхідні дані #2
2
1
1

Вихідні дані #2
X^2+2*X+1