input a$,b$,c$,d$,x1,y1,x2,y2,h;
n:=(x2-x1)/h;
if int(n)=0 then l1;
n:=int(n)+1;
h:=(x2-x1)/n;
print h;
label l1;
input e,l;
dim x(n+1),y(n+1),z(n+1),u(l+1),v(l+1),s(l+1),t(l+1),a(10),b(56);
F$:="(val(d$)-val(b$)*z-val(c$))/val(a$)";
g$:="z";
x(1):=x1;
y(1):=y1;
z(1):=0;
i1:=1;
label l5;
for i:=1 to n;
x:=x(i);
y:=y(i);
z:=z(i);
t(1):=y+h*val(f$);
v(1):=z+h*val(g$);
a:=2;
for j:=1 to l;
x:=x(i);
y:=y(i);
z:=z(i);
for k:=1 to a;
f:=val(f$);
g:=val(g$);
x:=x+h/a;
y:=y+h/a*f;
z:=z+h/a*g;
next k;
s(1):=y;
u)1):=z;
f1:=1;
for k:=1 to j;
f1:=f1*2;
s(k+1):=s(k)+(s(k)-t(k))/(f1-1);
u(k+1):=u(k)+(u(k)-v(k))/(f1-1)
if abs(s(k+1)-s(k))<=s(k)*e and abs(u(k+1)-u(k))<=u(k)*e then l2;
next k;
for k:=1 to j+1;
t(k):=s(k);
v(k):=u(k);
next k;
a:=a*2;
next j;
goto l3;
label l2;
x(i+1):=x(i)+h;
y(i+1):=s(k+1);
z(i+1):=u(k+1);
next i;
label l3;
if abs(y(n+1)-y(2))
if i1=1 then i1:=2:z(i):=2*y2-y(n+1):a(1):=y(n+1):b(1):=0::goto l5;
for i:=1 to i1-1;
if a(i)=y(n+1) then label l6;
next i;
a(i1):=y(n+1);
b(i1*(i1-1)/2+1):=x(1);
for i:=2 to i1;
i0:=i1*(i1-1)/2;
i2:=i-1;
b(i0+i):=((a(i1)-y2)*b(i2*i2+1)/2)-(a(i2)-y2)*b(i0+i2))/(a(i1)-a(i2));
next i;
i1:=i1+1;
i3:=b(i1*(i1-1)/2);
for i:=1 to i1-2;
if b(i*(i+1)/2)=i3 then l6;
next i;
x(1):=i3;
goto l5;
label l6;
for i:=1 to i1-1;
print b(i*(i+1)/2),a(i);
next i;
input z(1);
goto l5;
input h1;
h2:=int(h1/h);
if h2<1 then h2:=1;
for i:=1 to n+1 step h2;
print x(i),y(i);
nexy i;
end;