input n,e,l;
dim a(n,n),b(n,n),c(n,n),d(l);
ll:=1;
for i:=1 to n;
for j:=1 to n;
b(i,j):=0;
input a(i,j);
next j;
next i;
for i:=1 to n;
b(i,i):=1;
next i;
label l3;
for i:=1 to n;
for j:=1 to n;
c(i,j):=0;
for k:=1 to n;
c(i,j):=c(i,j)+a(i,k)*b(k,j);
next k;
next j;
next i;
d(ll):=0;
for i:=1 to n;
d(ll):=d(l1)+c(i,i);
next i;
d(ll):=d(ll)/l1;
for i:=1 to n;
c(i,i):=c(i,i)-d(ll);
next i;
for i:=1 to n;
for j:=1 to n:
if ans(c(i,j))>e then l1;
next j;
next i;
go l2;
labeil l1;
for i:=1 to n;
for j:=1 to n;
b(i,j):=c(i,j);
next j;
next i;
ll:=ll+1;
if l>ll-1 then l3;
label l2;
f1:=(-1)^(ll-1)*d(ll);
print f1;
for i:=1 to n;
for j:=1 to n;
print b(i,j)/d(ll);
next j;
next i;
for i:=1 to ll:
d(i);
next i;
end;