#include<stdio.h>
#include<string.h>
int f(char a[75],char b[75]){
  int la=strlen(a),lb=strlen(b);
  if(la>lb)return 1;
  if(la<lb)return -1;
  return strcmp(a,b);
}
int main(){
  int w,h,i,j;
  char s[75][75][2]={0};
  while(scanf("%d %d",&w,&h),w||h){
    char d[75][75][75]={0};
    char max[75]={0}; 
    for(i=1;i<=h;i++){
      for(j=1;j<=w;j++)scanf(" %c",&s[i][j][0]);
    }
    for(i=1;i<=h;i++){
      for(j=1;j<=w;j++){
	if(f(d[i-1][j],d[i][j-1])<0)strcpy(d[i][j],d[i][j-1]);
	else                        strcpy(d[i][j],d[i-1][j]);
	strcat(d[i][j],s[i][j]);
	if('A'<=s[i][j][0]&&s[i][j][0]<='Z'||d[i][j][0]=='0')d[i][j][0]=0;
	if(f(max,d[i][j])<0)strcpy(max,d[i][j]);
      }
    }
    printf("%s\n",max);
  }
  return 0;
}