#include <iostream>
using namespace std;
int n, m;
int seawater[102][102];
int Hmax=0;
void read ()
{
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
{
cin>>seawater[i][j];
if (seawater[i][j]>Hmax) Hmax=seawater[i][j];
}
}
}
int check[102][102];
int check_connect[102][102];
void init ()
{
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
{
check[i][j]=0;
check_connect[i][j]=0;
}
}
}
int extra;
int x_ar[]={+1, +0, -1, +0};
int y_ar[]={+0, -1, +0, +1};
void loang (int i, int j)
{
check[i][j]=1;
for (int k=0; k<4; k++)
{
int X=j+x_ar[k];
int Y=i+y_ar[k];
if (X>=1 && X<=m && Y>=1 && Y<=n)
{
if (check[Y][X]==0 && seawater[Y][X]<=extra) loang (Y, X);
}
}
}
void DFS (int i, int j)
{
check_connect[i][j]=1;
for (int k=0; k<4; k++)
{
int X=j+x_ar[k];
int Y=i+y_ar[k];
if (X>=1 && X<=m && Y>=1 && Y<=n)
{
if (check_connect[Y][X]==0 && check[Y][X]==check[i][j]) DFS (Y, X);
}
}
}
int main ()
{
int t=0;
while (1)
{
cin>>n>>m;
if (n==0 && m==0) break;
t++;
read ();
int kt=0;
for (int k=0; k<=Hmax; k++)
{
extra=k;
init ();
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
{
if ((i==1 || i==n || j==1 || j==m) && seawater[i][j]<=k && check[i][j]==0) loang (i, j);
}
}
//dem lien thong?
int count_connect=0;
for (int i=1; i<=n; i++)
{
for (int j=1; j<=m; j++)
{
if (check_connect[i][j]==0 && check[i][j]==0)
{
count_connect++;
DFS (i, j);
}
}
}
if (count_connect>1)
{
kt=1;
break;
}
}
if (kt==1) cout<<"Case "<<t<<": Island splits when ocean rises "<<extra<<" feet."<<endl;
else cout<<"Case "<<t<<": Island never splits."<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG4sIG07CmludCBzZWF3YXRlclsxMDJdWzEwMl07CmludCBIbWF4PTA7CnZvaWQgcmVhZCAoKQp7Cglmb3IgKGludCBpPTE7IGk8PW47IGkrKykKCXsKCQlmb3IgKGludCBqPTE7IGo8PW07IGorKykKCQl7CgkJCWNpbj4+c2Vhd2F0ZXJbaV1bal07CgkJCWlmIChzZWF3YXRlcltpXVtqXT5IbWF4KSBIbWF4PXNlYXdhdGVyW2ldW2pdOwoJCX0KCX0KfQoKaW50IGNoZWNrWzEwMl1bMTAyXTsKaW50IGNoZWNrX2Nvbm5lY3RbMTAyXVsxMDJdOwp2b2lkIGluaXQgKCkKewoJZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspCgl7CgkJZm9yIChpbnQgaj0xOyBqPD1tOyBqKyspCgkJewoJCQljaGVja1tpXVtqXT0wOwoJCQljaGVja19jb25uZWN0W2ldW2pdPTA7CgkJfQoJfQp9CgppbnQgZXh0cmE7CmludCB4X2FyW109eysxLCArMCwgLTEsICswfTsKaW50IHlfYXJbXT17KzAsIC0xLCArMCwgKzF9Owp2b2lkIGxvYW5nIChpbnQgaSwgaW50IGopCnsKCWNoZWNrW2ldW2pdPTE7Cglmb3IgKGludCBrPTA7IGs8NDsgaysrKQoJewoJCWludCBYPWoreF9hcltrXTsKCQlpbnQgWT1pK3lfYXJba107CgkJaWYgKFg+PTEgJiYgWDw9bSAmJiBZPj0xICYmIFk8PW4pCgkJewoJCQlpZiAoY2hlY2tbWV1bWF09PTAgJiYgc2Vhd2F0ZXJbWV1bWF08PWV4dHJhKSBsb2FuZyAoWSwgWCk7CgkJfQoJfQp9Cgp2b2lkIERGUyAoaW50IGksIGludCBqKQp7CgljaGVja19jb25uZWN0W2ldW2pdPTE7Cglmb3IgKGludCBrPTA7IGs8NDsgaysrKQoJewoJCWludCBYPWoreF9hcltrXTsKCQlpbnQgWT1pK3lfYXJba107CgkJaWYgKFg+PTEgJiYgWDw9bSAmJiBZPj0xICYmIFk8PW4pCgkJewoJCQlpZiAoY2hlY2tfY29ubmVjdFtZXVtYXT09MCAmJiBjaGVja1tZXVtYXT09Y2hlY2tbaV1bal0pIERGUyAoWSwgWCk7CgkJfQoJfQp9CgppbnQgbWFpbiAoKQp7CglpbnQgdD0wOwoJd2hpbGUgKDEpCgl7CgkJY2luPj5uPj5tOwoJCWlmIChuPT0wICYmIG09PTApIGJyZWFrOwoJCXQrKzsKCQlyZWFkICgpOwoJCWludCBrdD0wOwoJCWZvciAoaW50IGs9MDsgazw9SG1heDsgaysrKQoJCXsKCQkJZXh0cmE9azsKCQkJaW5pdCAoKTsKCQkJZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspCgkJCXsKCQkJCWZvciAoaW50IGo9MTsgajw9bTsgaisrKQoJCQkJewoJCQkJCWlmICgoaT09MSB8fCBpPT1uIHx8IGo9PTEgfHwgaj09bSkgJiYgc2Vhd2F0ZXJbaV1bal08PWsgJiYgY2hlY2tbaV1bal09PTApIGxvYW5nIChpLCBqKTsKCQkJCX0KCQkJfQoJCQkvL2RlbSBsaWVuIHRob25nPwoJCQlpbnQgY291bnRfY29ubmVjdD0wOwoJCQlmb3IgKGludCBpPTE7IGk8PW47IGkrKykKCQkJewoJCQkJZm9yIChpbnQgaj0xOyBqPD1tOyBqKyspCgkJCQl7CgkJCQkJaWYgKGNoZWNrX2Nvbm5lY3RbaV1bal09PTAgJiYgY2hlY2tbaV1bal09PTApCgkJCQkJewoJCQkJCQljb3VudF9jb25uZWN0Kys7CgkJCQkJCURGUyAoaSwgaik7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWlmIChjb3VudF9jb25uZWN0PjEpCgkJCXsKCQkJCWt0PTE7CgkJCQlicmVhazsKCQkJfQoJCX0KCQlpZiAoa3Q9PTEpIGNvdXQ8PCJDYXNlICI8PHQ8PCI6IElzbGFuZCBzcGxpdHMgd2hlbiBvY2VhbiByaXNlcyAiPDxleHRyYTw8IiBmZWV0LiI8PGVuZGw7CgkJZWxzZSBjb3V0PDwiQ2FzZSAiPDx0PDwiOiBJc2xhbmQgbmV2ZXIgc3BsaXRzLiI8PGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==