#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
#define MAX 101

int main(){
  double dp[MAX][MAX],nae[MAX][MAX];
  int n,m;

  while(cin >> n >> m, n+m){
    fill(dp[0],dp[MAX-1],1);

    for(int i = 0 ; i < n ; i++)
      for(int j = 0 ; j < n ; j++)
	cin >> nae[i][j];

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

    double ans = 0;
    for(int i = 0 ; i < n ; i++)
      for(int j = 0 ; j < n ; j++)
	ans = max(ans,dp[i][j]);

    ans = (int)(ans+0.005);
    printf("%.2f\n" , ans);
  }

  return 0;
}