#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cassert>
#include<cmath>
#define EPS 1e-10
using namespace std;

int m,n;
double total;
double dp[110][110];
int Just;
vector<double> matrix[110];
void rec(int next,int counter,double sam){
 
  if(counter >= m){
    dp[Just][m] = max(dp[Just][m],sam);
    return;
  }
  for(int i=0;i<n;i++){
   
    rec(i,counter+1,sam*matrix[next][i]);
  }  
}


int main(){
  
  double In;
 
  while(cin >> n >> m && n && m){
    for(int i=0;i<=n;i++)matrix[i].clear();
  
    for(int i=109;i>=0;i--)for(int j=0;j<110;j++)dp[j][i] = 0;
   
    for(int i=0;i<n;i++){
      for(int j=0;j<n;j++){
	cin >> In;
	matrix[i].push_back(In);
      }
    }
  


    double ans = -1;
 
      for(int I=0;I<n;I++){
	Just = I;
	rec(I,1,1.0);
	ans = max(ans,dp[Just][m]);
      }
    
    printf("%.2f\n",ans);

  }
  return 0;
}