const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here let n = await readline(); function genStr(num, n) { let str = "" if (num === 0) { return ""; } else if (Math.abs(num) === 1) { str += `${num > 0 ? "+" : "-"}${n===0?Math.abs(num):""}`; } else { str += `${num > 0 ? "+" : ""}${num}`; } if(n === 0){ str += "" }else if(n === 1){ str += "x" }else{ str += `x^${n}` } return str } while ((line = await readline())) { const arr = line.split(" ").map((value) => +value); let i = 0; let str = ""; do { str += genStr(arr[i], n); i++; } while (n--); if(str[0] === '+') str = str.substring(1) console.log(str); } })();