#include<cstdio>
#include<algorithm>
using namespace std;

int main(){
  double dp[100][100];
  int n,m;
  double table[100][100];

  while(1){
    scanf("%d %d",&n,&m);
    if(!n && !m)break;

    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++)dp[0][i] = 1.0;
    for(int i=1;i<m;i++){
      for(int j=0;j<n;j++)dp[i][j] = 0.0;
    }

    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] * table[k][j]);
	}
      }
    }

    double ans = 0.0;
    for(int i=0;i<n;i++)ans = max(ans,dp[m-1][i]);

    printf("%.2lf\n",ans);
  }
}