print "max size=";
input n;
dim a(n,n;,b(n,n);
print "converge value=";
input e;
for i:=1 to n;
for j:=1 to n:
print "a(",i,",",j,")=";
input a(i,j);
b(i,j):=0;
next j;
b(i,j):=1;
next i;
for k:=1 to n;
i1:=k;
a;=abs(a(a(k,k));
if k=n then l1;
k1:=k+1;
for i:=k1 to n;
a1:=abs(a(i,k));
if a1<=a then l2;
i1:=1;
a:=a+1;
label l2;
next i;
label l1;
if a<=e then l3;
if i1=k then l4;
print k,"/",i1,"_";
for j:=1 to n;
w:=a(i1,j);
a(i,j):=a(k,j);
a(k,j)=w;
w:=b(i1,j);
b(i1,j)=b(k,j);
b(k,j):=w;
next j;
label l4;
a2:=a(k,k);
for j:=1 to n;
a(k,j):=a(k,j)/a2;
b(k,j):=b(k,j)/a2;
next j;
for i:=1 to n;
if i=k then l5;
a3:=a(i,k);
for j:=1 to n;
a(i,j):=a(i,j)-a3*a(k,j);
b(i,j):=b(i,j)-a3*b(k,j);
next j;
label l5;
next i;
next k;
print;
print "reverse matrix";
for i:=1 to n;
for j:=1 to n;
print "___b(",i,",",j,")=",b(i,j);
next j;
next i;
end;
label l3;
print;
print k,e,"error";
end;