classMatrix: def__init__(self, mat): self.mat = mat
def__mul__(self, other): assertlen(self.mat[0]) == len(other.mat) return Matrix([[sum(x * y for x, y inzip(row, col)) % MOD for col inzip(*other.mat)] for row in self.mat]) def__pow__(self, k): assertlen(self.mat) == len(self.mat[0]) n = len(self.mat) res = Matrix([[int(i == j) for j inrange(n)] for i inrange(n)]) base = self while k > 0: if k & 1: res *= base base *= base k >>= 1 return res def__getitem__(self, i): return self.mat[i]
defsolve(): N, K = map(int, input().split()) A = [list(map(int, input().split())) for _ inrange(N)]
A = Matrix(A) Ak = A ** K print(sum(sum(row, ) for row in Ak.mat)) ans = 0 for i inrange(N): for j inrange(N): ans = (ans + Ak[i][j]) % MOD print(ans)