program lab2;
var
num1,num2 : longint;
numm : longint;
numn : longint;
numi : longint;
function posl(a,b : extended; n : longint) : extended;
var
k : longint;
c : extended;
begin
if (n > 2) then begin
for k := 3 to n do begin
c := a + b; a := b; b := c;
end;
end
else begin
if (n = 1) then c := a; if (n = 2) then c := b;
end;
posl := c;
end;
begin
write('a: '); readln(num1);
write('b: '); readln(num2);
write('n: '); readln(numn);
write('m: '); readln(numm);
writeln;
if (numn = 0) then writeln('последовательность пуста');
if (posl(num1,num2,numn) > 0) then begin
for numi := 1 to numn do begin
if (posl(num1,num2,numi) <= numm) or
((posl(num1,num2,numn) > 0) and (numm < 0)) then begin
writeln('a',numi,': ',trunc(posl(num1,num2,numi)));
end;
end;
end
else begin
for numi := 1 to numn do begin
if (posl(num1,num2,numi) >= numm) or
((posl(num1,num2,numn) < 0) and (numm > 0)) then begin
writeln('a',numi,': ',trunc(posl(num1,num2,numi)));
end;
end;
end;
end.