#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
double po=1;
double data[105][105];
double ans=1;
void check(int x,int y);
int main(void){
    for(;;){
        po=1;
        ans=1;

        cin>>n>>m;
        if(n==0&&m==0)break;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                cin>>data[i][j];
            }
        }
        check(0,0);


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


    }
	return 0;
}

void check(int x,int y){
    if(y==n){
        //cout<<ans<<endl;
        po=max(po,ans);
        return;
    }
    if(y==0){
        for(int i=0;i<n;i++){

            check(i,y+1);

        }

    }
    else {
        for(int i=0;i<n;i++){
            ans*=data[x][i];
            //cout<<x<<"-"<<i<<endl;
            check(i,y+1);
            ans/=data[x][i];
        }

    }



}