m,n=map(int,input().split())
A=[]
for i in range(0,m):
B=list(map(int,input().split()))
A.append(B)
dodai = 0
for i in range(0,m):
for j in range(0,n):
for k in range(1, n): #độ dài cạnh
if i + k - 1 < m and j + k - 1 < n:
x = i
y = j #tọa độ góc trên (x, y)
u = i + k - 1
v = j + k - 1 # tọa độ góc dưới (u, v)
bangNhau = True
for a in range(x, u + 1):
for b in range(y, v + 1):
if A[a][b] != A[x][y]:
bangNhau = False
if bangNhau == True:
#thỏa mãn
dodai = max(dodai, k)
print(dodai)
bSxuPW1hcChpbnQsaW5wdXQoKS5zcGxpdCgpKQpBPVtdCmZvciBpIGluIHJhbmdlKDAsbSk6CglCPWxpc3QobWFwKGludCxpbnB1dCgpLnNwbGl0KCkpKQoJQS5hcHBlbmQoQikKCmRvZGFpID0gMAoKZm9yIGkgaW4gcmFuZ2UoMCxtKToKCWZvciBqIGluIHJhbmdlKDAsbik6CgkJZm9yIGsgaW4gcmFuZ2UoMSwgbik6ICPEkeG7mSBkw6BpIGPhuqFuaAoJCQlpZiBpICsgayAtIDEgPCBtIGFuZCBqICsgayAtIDEgPCBuOgoJCQkJeCA9IGkKCQkJCXkgPSBqICN04buNYSDEkeG7mSBnw7NjIHRyw6puICh4LCB5KQoJCQkJdSA9IGkgKyBrIC0gMQoJCQkJdiA9IGogKyBrIC0gMSAjIHThu41hIMSR4buZIGfDs2MgZMaw4bubaSAodSwgdikKCQoJCQkJYmFuZ05oYXUgPSBUcnVlCgkJCQlmb3IgYSBpbiByYW5nZSh4LCB1ICsgMSk6CgkJCQkJZm9yIGIgaW4gcmFuZ2UoeSwgdiArIDEpOgoJCQkJCQlpZiBBW2FdW2JdICE9IEFbeF1beV06CgkJCQkJCQliYW5nTmhhdSA9IEZhbHNlCgkKCQkJCWlmIGJhbmdOaGF1ID09IFRydWU6CgkJCQkJI3Ro4buPYSBtw6NuCgkJCQkJZG9kYWkgPSBtYXgoZG9kYWksIGspCnByaW50KGRvZGFpKQ==
MTEgMTMKMCAwIDAgMCAwIDEgMCAwIDAgMCAwIDAgMAowIDAgMCAwIDEgMSAxIDAgMCAwIDAgMCAwCjAgMCAxIDEgMSAxIDEgMSAxIDAgMCAwIDAKMCAwIDEgMSAxIDEgMSAxIDEgMCAwIDAgMAowIDEgMSAxIDEgMSAxIDEgMSAxIDAgMCAwCjEgMSAxIDEgMSAxIDEgMSAxIDEgMSAwIDAKMCAxIDEgMSAxIDEgMSAxIDEgMSAwIDAgMAowIDAgMSAxIDEgMSAxIDEgMSAwIDAgMCAwCjAgMCAxIDEgMSAxIDEgMSAxIDAgMCAwIDAKMCAwIDAgMCAxIDEgMSAwIDAgMCAwIDEgMQowIDAgMCAwIDAgMSAwIDAgMCAwIDAgMSAxCg==
11 13
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 1 1 1 0 0
0 1 1 1 1 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 1
0 0 0 0 0 1 0 0 0 0 0 1 1