#include<cstdio>
#include<algorithm>

using namespace std;

int main(){
	static double table[100][100];
	double memo[100],next[100];
	for(int n,m;scanf("%d%d",&n,&m),n;){
		for(int i=0;i<n;i++)for(int j=0;j<n;j++)	scanf("%lf",table[i]+j);

		for(int i=0;i<n;i++)	memo[i]=1,next[i]=0;
		for(int t=1;t<m;t++){
			for(int i=0;i<n;i++)for(int j=0;j<n;j++){
				next[j]=max(next[j],table[i][j]*memo[i]);
			}
			for(int i=0;i<n;i++)	memo[i]=next[i];
		}

		double ans=0;
		for(int i=0;i<n;i++)	ans=max(ans,memo[i]);
		printf("%.2f\n",ans);
	}

	return 0;
}