Program M_POWER;
var a, b, c, b1, c1: array[ 1..100, 1..100 ] of integer;
Ia, i, j, k, n: integer;
begin
readln( Ia ); { Количество строк }
for i:= 1 to Ia do
begin
for j:= 1 to Ia do
read( a[ i, j ] );
readln;
end; { Сама матрица }
readln( n ); { Степень }
for i:= 1 to Ia do
for j:= 1 to Ia do
c[ i, j ]:= a[ i, j ]; {C = A }
for i:= 1 to Ia do
for j:= 1 to Ia do
if i = j then
b[ i, j ]:= 1
else b[ i, j ]:= 0; { B - еденичная матрица }
while n <> 0 do
if n mod 2 = 0 then
begin
n:= n div 2;
for i:= 1 to Ia do
for j:= 1 to Ia do
for k:= 1 to Ia do
c1[ i, j ]:= c1[ i, j ] + c[ i, k ] * c[ k, j ];
for i:= 1 to Ia do
for j:= 1 to Ia do
begin
c[ i, j ]:= c1[ i, j ];
c1[ i, j ]:= 0;
end;
end
else
begin
n:= n - 1;
for i:= 1 to Ia do
for j:= 1 to Ia do
for k:= 1 to Ia do
b1[ i, j ]:= b1[ i, j ] + b[ i, k ] * c[ k, j ];
for i:= 1 to Ia do
for j:= 1 to Ia do
begin
b[ i, j ]:= b1[ i, j ];
b1[ i, j ]:= 0;
end;
end;
for i:= 1 to Ia do
begin
for j:= 1 to Ia do
write( b[ i, j ], ' ' );
writeln;
end;
end.
UHJvZ3JhbSBNX1BPV0VSOwogdmFyIGEsIGIsIGMsIGIxLCBjMTogYXJyYXlbIDEuLjEwMCwgMS4uMTAwIF0gb2YgaW50ZWdlcjsKICAgICBJYSwgaSwgaiwgaywgbjogaW50ZWdlcjsKYmVnaW4KIHJlYWRsbiggSWEgKTsgICAgIAkJCQkJeyDQmtC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0YDQvtC6IH0KIGZvciBpOj0gMSB0byBJYSBkbwogIGJlZ2luIAogICBmb3Igajo9IDEgdG8gSWEgZG8KICAgIHJlYWQoIGFbIGksIGogXSApOwogICByZWFkbG47CiAgZW5kOyAgICAgICAgICAgIAkJCQkJeyDQodCw0LzQsCDQvNCw0YLRgNC40YbQsCB9CiByZWFkbG4oIG4gKTsJCQkJCQl7INCh0YLQtdC/0LXQvdGMIH0gCiAKIGZvciBpOj0gMSB0byBJYSBkbwogIGZvciBqOj0gMSB0byBJYSBkbwogICBjWyBpLCBqIF06PSBhWyBpLCBqIF07CQkJCXtDID0gQSB9CiBmb3IgaTo9IDEgdG8gSWEgZG8KICBmb3Igajo9IDEgdG8gSWEgZG8KICAgaWYgaSA9IGogdGhlbgogICAgYlsgaSwgaiBdOj0gMQogICBlbHNlIGJbIGksIGogXTo9IDA7CQkJCQl7IEIgLSDQtdC00LXQvdC40YfQvdCw0Y8g0LzQsNGC0YDQuNGG0LAgfQogIAogIHdoaWxlIG4gPD4gMCBkbwogICBpZiBuIG1vZCAyID0gMCB0aGVuCiAgICBiZWdpbgogICAgIG46PSBuIGRpdiAyOwogICAgIGZvciBpOj0gMSB0byBJYSBkbwogICAgICBmb3Igajo9IDEgdG8gSWEgZG8KICAgICAgIGZvciBrOj0gMSB0byBJYSBkbwogICAgICAgIGMxWyBpLCBqIF06PSBjMVsgaSwgaiBdICsgY1sgaSwgayBdICogY1sgaywgaiBdOwogICAgIGZvciBpOj0gMSB0byBJYSBkbwogICAgICBmb3Igajo9IDEgdG8gSWEgZG8KICAgICAgIGJlZ2luCiAgICAgICAgY1sgaSwgaiBdOj0gYzFbIGksIGogXTsKICAgICAgICBjMVsgaSwgaiBdOj0gMDsKICAgICAgIGVuZDsKICAgIGVuZAogICBlbHNlCiAgICBiZWdpbgogICAgIG46PSBuIC0gMTsKICAgICBmb3IgaTo9IDEgdG8gSWEgZG8KICAgICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICAgICBmb3Igazo9IDEgdG8gSWEgZG8KICAgICAgICBiMVsgaSwgaiBdOj0gYjFbIGksIGogXSArIGJbIGksIGsgXSAqIGNbIGssIGogXTsKICAgICBmb3IgaTo9IDEgdG8gSWEgZG8KICAgICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICAgICBiZWdpbgogICAgICAgIGJbIGksIGogXTo9IGIxWyBpLCBqIF07CiAgICAgICAgYjFbIGksIGogXTo9IDA7CiAgICAgICBlbmQ7CiAgICBlbmQ7CiAgZm9yIGk6PSAxIHRvIElhIGRvCiAgIGJlZ2luCiAgICBmb3Igajo9IDEgdG8gSWEgZG8gICAgICAgCiAgICAgd3JpdGUoIGJbIGksIGogXSwgJyAnICk7CiAgICB3cml0ZWxuOwogICBlbmQ7CmVuZC4=