import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main
(String[] args
) {
int m,n;
Scanner sc
= new Scanner
(System.
in); m = sc.nextInt();
n = sc.nextInt();
int[][] A = new int[m][m]; //массив для хранения исходной матрицы
int[][] B = new int[m][m]; //массив для хранения степеней исходной матрицы
int[][] C = new int[m][m]; //массив для хранения произведений A на B при возведении в степень
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++)
{
A[i][j] = sc.nextInt();
B[i][j]=A[i][j];
}
}
int sum=0;
int result=0;
if(n>0)
{
for(int i=0;i<m;i++)
{
result+=B[i][i]; //нахождение следа исходной матрицы
}
System.
out.
printf("%d ",result
); }
for(int q=0;q<n-1;q++)
{
for(int i=0;i<m;i++) //перемножение матриц
{
for(int z=0;z<m;z++)
{
for(int j=0;j<m;j++)
{
sum+=A[i][j]*B[j][z];
}
C[i][z]=sum;
sum=0;
}
}
for(int i=0;i<m;i++) //переприсваивание элементов матрицы
{
for(int j=0;j<m;j++)
{
B[i][j]=C[i][j];
}
}
result=0;
for(int i=0;i<m;i++)
{
result+=B[i][i]; //нахождение следа полученной матрицы
}
System.
out.
printf("%d ",result
); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIAoJewoJCWludCBtLG47CgkJU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJbSA9IHNjLm5leHRJbnQoKTsKCQluID0gc2MubmV4dEludCgpOwoJCWludFtdW10gQSA9IG5ldyBpbnRbbV1bbV07IC8v0LzQsNGB0YHQuNCyINC00LvRjyDRhdGA0LDQvdC10L3QuNGPINC40YHRhdC+0LTQvdC+0Lkg0LzQsNGC0YDQuNGG0YsKCQlpbnRbXVtdIEIgPSBuZXcgaW50W21dW21dOyAvL9C80LDRgdGB0LjQsiDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDRgdGC0LXQv9C10L3QtdC5INC40YHRhdC+0LTQvdC+0Lkg0LzQsNGC0YDQuNGG0YsKCQlpbnRbXVtdIEMgPSBuZXcgaW50W21dW21dOyAvL9C80LDRgdGB0LjQsiDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDQv9GA0L7QuNC30LLQtdC00LXQvdC40LkgQSDQvdCwIEIg0L/RgNC4INCy0L7Qt9Cy0LXQtNC10L3QuNC4INCyINGB0YLQtdC/0LXQvdGMCgkJZm9yKGludCBpPTA7aTxtO2krKykKCQl7CgkJCWZvcihpbnQgaj0wO2o8bTtqKyspCgkJCXsKCQkJCUFbaV1bal0gPSBzYy5uZXh0SW50KCk7CgkJCQlCW2ldW2pdPUFbaV1bal07CgkJCX0KCQl9CgkJaW50IHN1bT0wOwoJCWludCByZXN1bHQ9MDsKCQlpZihuPjApCgkJewoJCQlmb3IoaW50IGk9MDtpPG07aSsrKQoJCQl7CgkJCQlyZXN1bHQrPUJbaV1baV07IC8v0L3QsNGF0L7QttC00LXQvdC40LUg0YHQu9C10LTQsCDQuNGB0YXQvtC00L3QvtC5INC80LDRgtGA0LjRhtGLIAoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRmKCIlZCAiLHJlc3VsdCk7CgkJfQoJCWZvcihpbnQgcT0wO3E8bi0xO3ErKykKCQl7CgkJCWZvcihpbnQgaT0wO2k8bTtpKyspIC8v0L/QtdGA0LXQvNC90L7QttC10L3QuNC1INC80LDRgtGA0LjRhgoJICAgICAgICB7CgkgICAgICAgICAgIGZvcihpbnQgej0wO3o8bTt6KyspCgkgICAgICAgICAgIHsKCSAgICAgICAgICAgCQlmb3IoaW50IGo9MDtqPG07aisrKQoJCQkJCXsKCQkJCQkJc3VtKz1BW2ldW2pdKkJbal1bel07CgkJCQkJfQoJCQkJCUNbaV1bel09c3VtOyAKCQkJCQlzdW09MDsKCQkJCX0KCQkJfQoJCQlmb3IoaW50IGk9MDtpPG07aSsrKSAvL9C/0LXRgNC10L/RgNC40YHQstCw0LjQstCw0L3QuNC1INGN0LvQtdC80LXQvdGC0L7QsiDQvNCw0YLRgNC40YbRiwoJCQl7CgkJCQlmb3IoaW50IGo9MDtqPG07aisrKQoJCQkJewoJCQkJCUJbaV1bal09Q1tpXVtqXTsKCQkJCX0KCQkJfQoJCQlyZXN1bHQ9MDsKCQkJZm9yKGludCBpPTA7aTxtO2krKykKCQkJewoJCQkJcmVzdWx0Kz1CW2ldW2ldOyAvL9C90LDRhdC+0LbQtNC10L3QuNC1INGB0LvQtdC00LAg0L/QvtC70YPRh9C10L3QvdC+0Lkg0LzQsNGC0YDQuNGG0YsKCQkJfQoJCQlTeXN0ZW0ub3V0LnByaW50ZigiJWQgIixyZXN1bHQpOwoJCX0KCX0KfQ==