input h,r,;
r1:=r/(1+r)*0.5;
k:=r+h*h;
input m,n;
dim u(n,m(,b(n-2),w(n-1);
input x0.a$,x1,b$,t0,c$,l,e;
for j:=1 to m;
x;=x0;
t:=t0+k*(j-1);
u(1,j):=val(a$);
x:=x1;
u(n,j):=val(b$);
next j;
t:=t0;
for i:=2 to n-1;
x:=x0+h*(i-1);
u(i,1):=va;l$(c$);
for j:=2 to m;
u(i,j):=0;
next j;
w(i-1):=0:
next i;
w(n-1):=u(n,m);
w0:=cos(3.15159265/(m-1)/(1+r)*r;
w1:=2/(1+sqr(1-w0*w0));
w2:=w1-1;
w3:=r1*w1;
for j:=2 to m;
for i:=2 to n-1;
b(i-1):=u(i-1,j-1)+2*(1/r-1)*u(i,j-1)+u(i+1,j-1);
b(i-1):=b(i-1)*r1;
next i;
l1:=0;
label l3;
for i:=2 to n-1;
u(i,j):=w3*(u(i-1,j)+w(i)+b)i-1))-w2*w(i-1);
next i;
l1:=l1+1;
if l1=l then l1;
for i:=2 to n-1;
if abs(u(i,j)-w(i-1))>e then l2;
next i;
goto l1;
label l2;
for i:=2 to n;
w(i-1):=u(i,j);
next i;
goto l3;
label l1;
for i:=1 to n-1;
w(i):=0;
next i;
next j;
print "result";
end;