program Schemat_Hornera;
{$APPTYPE CONSOLE}
var
//Zmienne
xn:integer=0; //zmienna od wartosci najwyzszej potegi
//Tablice
Wx:array of integer; //tablica wielomianu
Px:array of integer; //tablica p
Qx:array of integer; //tablica q
//Tymczasowe
pom2:integer=0; //pomocnicza do wpisywania wielomianu oraz do dzielenie modularnego
temp1:integer=0; //pomocnicza do zmiany znaku od "x0"
temp2:integer=0; //pomocnicza od zmiany znaku od "xn"
lt:integer=0; //pomocnicza do przesuwania tablicu Px
ble:integer=0; //tymczasowa do testów
begin
Writeln ('Podaj wartosc najwyzszej potegi');
Readln(xn); //Stopien wielomianu
SetLength(Wx,xn);
Writeln('Podaj kolejno wartosci stojace przy potegach');
while pom2<xn do
begin
Readln(Wx[pom2]); //Wpisywanie wielomianu
pom2:=pom2+1;
end;
if Wx[xn-1]<0 then
begin
temp2:=-Wx[xn-1]; //Zmiana znaku przy "xn"
//Writeln(temp2);
end;
if Wx[0]<0 then
begin
temp1:=-Wx[0]; //Zmiana znaku przy "x0"
//Writeln(temp1);
end;
while ble<xn do
begin
Writeln(Wx[ble]);
ble:=ble+1;
end;
pom2:=0;
SetLength(Px,xn*2);
if Wx[xn-1]=1 then
begin
pom2:=pom2+1;
if Wx[xn-1] mod pom2 =0 then
begin
Px[lt]:=Wx[xn-1];
Px[lt+1]:=-Wx[xn-1];
lt:=lt+2;
end;
ble := 0;
while ble<lt do
begin
Writeln(Px[ble]);
ble:=ble+1;
end;
Readln;
end;
readln;
end.