Var Poly:Text; Num:Array[1..255] of Integer; I,O,X,N,E:Integer; St:String; Begin Assign(Poly,'Poly.in'); Reset(Poly); While not(EOF(Poly)) do begin I:=1; While Not(Eoln(Poly)) do begin Read(Poly,Num[I]);I:=I+1;end; I:=I-1;N:=I; Readln(Poly);X:=1; For N:=8 Downto 2 do Begin If (Num[9-N]<>0) Then Begin If X<>1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write(' - ',E,'x^',N); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write(' - x^',N); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write(' + x^',N); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(' + ',E,'x^',N); End; End; If X=1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write('-',E,'x^',N); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write('-x^',N); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write('x^',N); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(E,'x^',N); End; X:=X+1; End; End; End; {} N:=1; If (Num[9-N]<>0) Then Begin If X<>1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write(' - ',E,'x'); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write(' - x'); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write(' + x'); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(' + ',E,'x'); End; End; If X=1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write('-',E,'x'); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write('-x'); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write('x'); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(E,'x'); End; X:=X+1; End; End; {} N:=0; If (Num[9-N]<>0) Then Begin If X<>1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write(' - ',E); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write(' - 1'); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write(' + 1'); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(' + ',E); End; End; If X=1 Then Begin If Num[9-N]<-1 Then Begin E:=Num[9-N]*(-1);Write('-',E); End; If Num[9-N]=-1 Then Begin E:=Num[9-N]*(-1);Write('-1'); End; If Num[9-N]=1 Then Begin E:=Num[9-N];Write('1'); End; If Num[9-N]>1 Then Begin E:=Num[9-N];Write(E); End; X:=X+1; End; End; {} IF (Num[9]=0)And(Num[8]=0)And(Num[7]=0)And(Num[6]=0)And(Num[5]=0) And(Num[4]=0)And(Num[3]=0)And(Num[2]=0)And(Num[1]=0) Then Write('0'); Writeln End; Close(Poly); End.