#include<iostream>
#include<vector>
#include <cstdio>
using namespace std;

int main(){
  int N,M;
  while(cin>>N>>M,N||M){
    long double t[100][100];
    long double dp[M][N];

    for(int i=0;i<N;i++){
      for(int j=0;j<N;j++){
	scanf("%Lf",&t[i][j]);
      }
    }

    for(int i=0;i<M;i++){
      for(int j=0; j<N;j++){
	dp[i][j]=0;
      }
    }
    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++){
	for(int k=0;k<N;k++){
	  dp[i][j]=max(dp[i][j],dp[i-1][k]*t[k][j]);
	}
      }
    }
    long double ans=0;

    for(int i=0;i<N;i++) ans=max(ans,dp[M-1][i]);

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