var
x0, xk, dx, e, x, a, s: real;
i: integer;
begin
readln(x0, xk, dx, e);
x := x0;
writeln(' i ':3, ' ', ' x ':10, ' ', ' s ':10);
repeat
a := 1;
s := a;
i := 0;
repeat
i := i + 1;
a := a * x / i;
s := s + a;
writeln(i:3, ' ', x:10:3, ' ', s:10:3);
until abs(a) < e;
x := x + dx;
until x >= xk;
end.