#include <iostream>
using namespace std;

int main() {
    int n,k;
    while(cin >> n >> k)
    {
        int a[n][n];
        int a_temp[n][n];
        int b[n][n];
        for(int i=0; i<n; i++)
        { 
            for(int j=0; j<n; j++)
            {
                cin >> a[i][j];
                b[i][j]=a[i][j];
                a_temp[i][j]=a[i][j];
            }
        }
        
        while(k>1)
        {
            k--;
            for(int i=0; i<n; i++)
            {
                for(int j=0; j<n; j++)
                {
                    int num=0;
                    for(int k=0; k<n; k++)
                    {
                        num+=a[i][k]*b[k][j];
                    }
                    a_temp[i][j]=num;
                }
            }
            for(int i=0; i<n; i++)
            {
                for(int j=0; j<n; j++)
                {
                    a[i][j]=a_temp[i][j];
                }
            }
        }
        for(int i=0; i<n; i++)
        {
            for(int j=0; j<n; j++)
            {
                cout << a_temp[i][j];
                if(j!=n-1)
                {
                    cout << ' ';
                }
            }
            cout << endl;
        }
    }
    
}
// 64 位输出请用 printf("%lld")