#include<cstdio>
#define N 55
#define mod 1000000007
#define int long long
int n;
struct mat{
	int x[N][N];
	mat operator*(const mat&a){
		mat t;
		for(int i=0;i<n;++i)for(int j=0;j<n;++j){
			t.x[i][j]=0;
			for(int k=0;k<n;++k)t.x[i][j]=(t.x[i][j]+x[i][k]*a.x[k][j]%mod)%mod;
		}
		return t;
	}
};
mat qp(mat x,int k){
	mat ans;
	for(int i=0;i<n;++i)for(int j=0;j<n;++j)ans.x[i][j]=i==j;
	for(;k;k>>=1,x=x*x)if(k&1)ans=ans*x;
	return ans;
}
mat x;
int k;
signed main(){
	scanf("%lld%lld",&n,&k);
	for(int i=0;i<n;++i)for(int j=0;j<n;++j)scanf("%lld",&x.x[i][j]);
	x=qp(x,k);
	int ans=0;
	for(int i=0;i<n;++i)for(int j=0;j<n;++j)ans=(ans+x.x[i][j])%mod;
	printf("%lld\n",ans);
	return 0;
}
