#include "bits/stdc++.h"

using namespace std;

typedef vector<int> vi;
typedef pair<int,int> pii;
typedef long long ll;

#define dump(x)  cerr << #x << " = " << (x) << endl
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back

int cost[200][200];
int tim[200][200];


int main(){
    int n,m;
    while(cin>>n>>m){
        if(n==0&&m==0)break;
        double data[200][200];
        rep(i,n){
            rep(j,n){
                cin>>data[i][j];
            }
        }
        double dp[200][200];
        rep(i,200)rep(j,200)dp[i][j]=-1;
        rep(i,n){
            dp[i][1]=1;
        }
        for(int i=2;i<=m;i++){
            rep(j,n){
                rep(k,n){
                    dp[j][i] = max(dp[j][i],dp[k][i-1]*data[k][j]);
                }
            }
        }
        double ans=-1;
        rep(i,n){
            ans=max(ans,dp[i][m]);
        }
        printf("%.2lf\n",ans);

    }
}