#include<bits/stdc++.h> using namespace std; int r,s,t[200],ans; int dx[]={-1,0,1,0}, dy[]={0,-1,0,1}; char a[100][100]; void dfs(int x,int y,int cnt){ ans=max(ans,cnt); for(int i=0; i<4; i++){ int xx=x+dx[i]; int yy=y+dy[i]; if(xx<0||xx>=r||yy<0||yy>=s) continue; if(t[a[xx][yy]]==0){ t[a[xx][yy]]=1; dfs(xx,yy,cnt+1); t[a[xx][yy]]=0; } } } int main() { cin>>r>>s; for(int i=0; i<r; i++) cin>>a[i]; v[0][0]=1; t[a[0][0]]=1; dfs(0,0,1); cout<<ans<<endl; return 0; }