#include<iostream>
#include<map>
#include<vector>
using namespace std;
string s[10];
int h,w;
int dx[]={0,1,0,-1,1,1,-1,-1},dy[]={1,0,-1,0,1,-1,1,-1};
int main()
{
	while(cin>>h>>w,h)
	{
		for(int i=0;i<h;i++)cin>>s[i];
		map<string,int>M;
		string ans="0";
		for(int i=0;i<h;i++)for(int j=0;j<w;j++)
		{
			for(int r=0;r<8;r++)
			{
				string now=s[i].substr(j,1);
				int x=i+dx[r],y=j+dy[r];
				x=(x+h)%h;y=(y+w)%w;
				while(x!=i||y!=j)
				{
					now+=s[x][y];
					if(M[now]++==1)
					{
						if(now.size()>ans.size())ans=now;
						else if(ans.size()==now.size()&&ans>now)ans=now;
					}
					x+=dx[r],y+=dy[r];
					x=(x+h)%h;y=(y+w)%w;
				}
			}
		}
		cout<<ans<<endl;
	}
}

