#include<iostream>
#include<cstdio>
#define INF 0
using namespace std;
int main(){
	int n,m;
	double t[200][200];
	while(cin>>n>>m,n||m){
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
				cin>>t[i][j];
		double dp[200][200];
		for(int i=0;i<=m;i++)
		for(int j=0;j<n;j++)
		dp[j][i]=INF;
		for(int i=0;i<n;i++)
		dp[i][0]=1.0;
		for(int i=1;i<m;i++)
		for(int j=0;j<n;j++)
		for(int k=0;k<n;k++)
		dp[j][i]=max(dp[j][i],dp[k][i-1]*t[k][j]);
		double ans=INF;
		for(int i=0;i<n;i++)
		ans=max(ans,dp[i][m-1]);
		printf("%.2lf\n",ans);
		
	}
	return 0;
}