#include <iostream>
#include <algorithm>
#include <string>
#include <set>
using namespace std;

int main(){
  int h,w;
  int dx[] = {-1,0,1,-1,1,-1,0,1};
  int dy[] = {1,1,1,0,0,-1,-1,-1};
  while(cin >> h >> w && h && w){
    char c[11][21];
    set<string> s;
    string ans = "";

    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
	cin >> c[i][j];
      }
    }

    for(int i=0;i<h;i++){
      for(int j=0;j<w;j++){
	for(int k=0;k<8;k++){
	  int x = j;
	  int y = i;

	  string str;
	  str += c[y][x];

	  while(1){
	    x += dx[k];
	    y += dy[k];

	    if(x < 0) x = w - 1;
	    else if(x >= w) x = 0;
	    if(y < 0) y = h - 1;
	    else if(y >= h) y = 0;

	    if(x == j && y == i) break;
	    else str += c[y][x];

	    
	    if(!s.empty() && s.find(str) != s.end() && str.size() > ans.size()) ans = str;
	    else if(!s.empty() && s.find(str) != s.end() && str.size() == ans.size() && str < ans) ans = str;
	    else s.insert(str);
	    
	  }

	}
      }
    }
    if(ans != "") cout << ans << endl;
    else cout << "0" << endl;
  }
  return 0;
}