[h w b]=size(a);
p=h*w;
for k=';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'
for i=1:p
c=i;
while i
t = i+[1&mod(i,h) -(1&mod(i-1,h)) h -h];
t(t<1|t>p)=[];
i = t(a(t)==a(i)+1);
j=nnz(i);
if j>1
i=i(ceil(j*rand));
end
c =[c; i];
end
if nnz(c)>nnz(b)
b=c;
end
end
end