Program M_power;
var
a, b, c, ax, bx, cx: array [ 1 .. 100 , 1 .. 100 ] of integer ;
i, j, Ia, n, k, ix, jx, kx: integer ;
Procedure M_mult( ax, bx: array [ 1 .. 100 , 1 .. 100 ] of integer ; var Iax: integer ; var cx: array [ 1 .. 100 , 1 .. 100 ] of integer ) ;
var ix, jx, kx: integer ;
begin
for ix: = 1 to Ia do
for jx: = 1 to Ia do
for kx: = 1 to Ia do
cx[ ix, jx ] : = cx[ ix, jx ] + ax[ ix, kx ] * bx[ kx, jx ] ;
end ;
begin
readln ( Ia ) ;
for i: = 1 to Ia do
begin
for j: = 1 to Ia do
read ( a[ i, j ] ) ;
readln ;
end ;
readln ( n ) ;
k: = n;
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 ;
for i: = 1 to Ia do
for j: = 1 to Ia do
c[ i, j ] : = a[ i, j ] ;
while k <> o do
if k mod 2 = 0 then
begin
k: = k div 2 ;
M_mult( c, c, Ia, c ) ;
end ;
else
begin
k: = k - 1 ;
M_mult( b, c, Ia, b ) ;
end ;
for i: = 1 to Ia do
begin
for j: = 1 to Ia do
write ( b[ i, j ] ) ;
writeln ;
end ;
end .
UHJvZ3JhbSBNX3Bvd2VyOwp2YXIKIGEsIGIsIGMsIGF4LCBieCwgY3g6IGFycmF5IFsgMS4uMTAwLCAxLi4xMDAgXSBvZiBpbnRlZ2VyOwogaSwgaiwgSWEsIG4sIGssIGl4LCBqeCwga3g6IGludGVnZXI7CiBQcm9jZWR1cmUgTV9tdWx0KCBheCwgYng6IGFycmF5IFsxLi4xMDAsIDEuLjEwMF0gb2YgaW50ZWdlcjsgdmFyIElheDogaW50ZWdlcjsgdmFyIGN4OiBhcnJheSBbMS4uMTAwLCAxLi4xMDBdIG9mIGludGVnZXIpOwogICB2YXIgaXgsIGp4LCBreDogaW50ZWdlcjsKICBiZWdpbgogICBmb3IgaXg6PSAxIHRvIElhIGRvCiAgICAgZm9yIGp4Oj0gMSB0byBJYSBkbwogICAgICAgZm9yIGt4Oj0gMSB0byBJYSBkbwogICAgICAgIGN4WyBpeCwganggXTo9IGN4WyBpeCwganggXSArIGF4WyBpeCwga3ggXSAqIGJ4WyBreCwganggXTsgCiAgZW5kOwpiZWdpbgogcmVhZGxuKCBJYSApOwogZm9yIGk6PSAxIHRvIElhIGRvCiAgYmVnaW4KICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICByZWFkKCBhWyBpLCBqIF0gKTsKICAgcmVhZGxuOwogIGVuZDsKICAKICAKICByZWFkbG4oIG4gKTsKICBrOj0gbjsKICBmb3IgaTo9IDEgdG8gSWEgZG8KICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICBpZiBpID0gaiB0aGVuIGJbIGksIGogXTo9IDEKICAgIGVsc2UgYlsgaSwgaiBdOj0gMDsKICBmb3IgaTo9IDEgdG8gSWEgZG8KICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICBjWyBpLCBqIF06PSBhWyBpLCBqIF07CiAgCiAgd2hpbGUgayA8PiBvIGRvCiAgIGlmIGsgbW9kIDIgPSAwIHRoZW4KICAgIGJlZ2luCiAgICAgazo9IGsgZGl2IDI7CiAgICAgTV9tdWx0KCBjLCBjLCBJYSwgYyApOwogICAgZW5kOyAKICAgZWxzZQogICAgYmVnaW4KICAgICBrOj0gayAtIDE7CiAgICAgTV9tdWx0KCBiLCBjLCBJYSwgYiApOwogICAgZW5kOwogICBmb3IgaTo9IDEgdG8gSWEgZG8KICAgIGJlZ2luCiAgICAgZm9yIGo6PSAxIHRvIElhIGRvCiAgICAgIHdyaXRlKCBiWyBpLCBqIF0gKTsKICAgICB3cml0ZWxuOwogICAgZW5kOyAKZW5kLiA=