input n;
dim a(n,n),x(n),b(n);
input e;
for i:=1 to n;
for j:=1 to n;
input a(i,j);
next j;
next i;
for i:=1 to n;
input b(i);
x(i):=i;
next i;
for k:=1 to n;
if k<>n then l1;
if abs(a(k,k)
label l1;
i1:=k;
a1:=abs(a(k,k));
k1:=k+1;
for i:=k1 to n:
a2:=abs(a(i,k));
if a2<=a1 then l4;
i1:=i;
a1:=a2;
label l4;
next i;
i2:=k;
a3:=abs(a(k,k));
for i:=k1 to n;
a2:=abs(a(k,i));
if a2<=a3 then l5;
i2:=i;
a3:=a2;
label l5;
next i;
if a1<=e and a3<=e then l2; for j:=k to n; label l6; for i:=1 to n-1; for i:=1 to n; label l2;
if i1:=k and i2=k then l3;
if a1
w:=a(i1,j);
a(i1,j)=a(k,j);
a(k,j):=w;
next j;
w:=b(i1);
b(i1):=b(k);
b(k):=w;
goto l3;
w:=a(k,k);
for j:=k to n;
a(k,j):=a(k,j)/w;
next j;
b(k):=b(k)/w;
for i:=1 to n;
if i=k then l7;
w:=a(i,k);
for j:=k to n;
a(i,j):=a(i,j)-w*a(k,j);
next j;
b(i):=b(i)-w*b(k);
label l7;
next i;
next k;
if x(i)=i then l8;
for j:=i+1 to n;
if x(j)<>i then l9;
w:=x(i);
x(i):=x(j);
x(j):=w;
w:=b(i);
b(i):=b(j);
b(j):=w;
j:=n;
label l9;
next j;
label l8;
next i;
print b(i);
next i;
end;
print "error";
end;