var i,j,k,l,m,n:longint; a:array[0..100]of longint; begin readln(n); for i:=n downto 0 do read(a[i]); if n=1 then begin write(a[1],'x'); if a[0]=0 then exit; if a[0]>0 then write('+',a[0])else write(a[0]); exit; end; if n=0 then begin write(a[0]);exit;end; if a[n]=1 then write('x^',n) else if a[n]=-1 then write('-x^',n) else if a[n]<>0 then write(a[n],'x^',n); for i:=n-1 downto 2 do begin if a[i]=0 then continue; if a[i]=1 then write('+x^',i) else if a[i]=-1 then write('-x^',i) else if a[i]>0 then write('+',a[i],'x^',i) else write(a[i],'x^',i); end; if a[1]=1 then write('+x') else if a[1]=-1 then write('-x') else if a[1]>0 then write('+',a[1],'x') else if a[1]<>0 then write(a[1],'x'); if a[0]>0 then write('+',a[0]) else if a[0]<0 then write(a[0]); end. /************************************************************** Problem: 2284 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/