function bomb(x,y,c){
   var dx=[0,-1,1,0];
   var dy=[-1,0,0,1];
   max=Math.max(max,c);
   for(var i=0;i<4;i++){
      var xx=x+dx[i];
      var yy=y+dy[i];
      if(xx<0 || yy<0 || xx>=m || yy>=n)continue;
      if(YX[yy][xx]==0)continue;
      YX[yy][xx]=0;
      bomb(xx,yy,c+1);
   }
}
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var Arr=(input.trim()).split("\n");
while(true){
   var m=Arr.shift()-0;
   var n=Arr.shift()-0;
   if(m==0 && n==0)break;
   var yx=[];
   for(var i=0;i<n;i++){
      var v=Arr.shift().split(" ").map(Number);
      yx.push(v);
   }
   var max=0;
   for(var i=0;i<m;i++){
      for(var j=0;j<n;j++){
         var YX=yx.map(function(v){return v.slice();});
         bomb(i,j,0);
      }
   }
   console.log(max);
}