#include <bits/stdc++.h>
using namespace std;
int main(){
	while(1){
		int n,m;
		cin>>n>>m;
		if(n==0 && m==0)break;
		
		double sei[101][101];//n^n
		double dp[101][101]={};//m*n
		double ans=0.0;
		
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				cin>>sei[i][j];
			}
		}
		
		/*for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				cout<<sei[i][j]<<" ";
			}
			cout<<endl;
		}*/
		
		
		for(int i=0;i<n;i++)
			dp[1][i]=1.0;
		for(int i=1;i<=m;i++){
			for(int j=0;j<n;j++){
				for(int k=0;k<n;k++){
					//cout<<i<<" "<<j<<" "<<k<<endl;
					if(dp[i][j]*sei[j][k]>=dp[i+1][k])
					dp[i+1][k]=dp[i][j]*sei[j][k];
				}
			}
		}
		for(int i=0;i<n;i++)
			ans=max(dp[m][i],ans);
		/*for(int i=0;i<m;i++){
			for(int j=0;j<n;j++){
				cout<<dp[i][j]<<" ";
			}
			cout<<endl;
		}*/
		printf("%.2f\n",ans);
		//cout<<ans<<endl;
		
	}
	
	return 0;
}