Program M_power; var a, b, c: array [ 1..100 ] of integer; i, j, Ia, n, k: integer; Procedure M_mult( ax, bx: array [1..100, 1..100] of integer; 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.