#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n,m;
double dp[101][100];
double g[100][100];
main()
{
	while(cin>>n>>m,n)
	{
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)cin>>g[i][j];
			for(int j=0;j<=m;j++)dp[j][i]=1;
		}
		for(int i=0;i<m-1;i++)
		{
			for(int j=0;j<n;j++)
			{
				for(int k=0;k<n;k++)
				{
					dp[i+1][j]=max(dp[i+1][j],dp[i][k]*g[k][j]);
				}
			}
		}
		double ans=1;
		for(int i=0;i<n;i++)ans=max(ans,dp[m-1][i]);
		ans=round(ans*100);
		cout<<ans/100<<endl;
	}
}

