#include<iostream>
#include<algorithm>
#include<cstdio>

using namespace std;

int main(){
  int n, m, i, j, k;

  while(cin >> n >> m && n != 0 || m != 0) {
    
    double gl[101][101] = {};
    double dp[101][101] = {};
    
    for(i = 0; i < n; i++) {
      for(j = 0; j < n; j++) {
	cin >> gl[i][j];
      }
    }

    for(i = 0; i < n; i++) {
      dp[0][i] = 1.0;
    }

    for(i = 1; i < m; i++) {
      for(j = 0; j < n; j++) {
	for(k = 0; k < n; k++) {
	  dp[i][j] = max(dp[i - 1][k] * gl[k][j], dp[i][j]);
	}
      }
    }

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

  return 0;

}