#include <stdio.h>
#include <string.h>
#include <ctype.h>

int w,h;
char input[70][100];

char map[71][71][100];

int mystrcmp(const char* a,const char* b) {
	int la,lb;
	la=strlen(a);
	lb=strlen(b);
	if(la>lb)return 1;
	if(la<lb)return -1;
	return strcmp(a,b);
}

int main(void) {
	int i,j;
	int mi,mj;
	while(1) {
		scanf("%d%d",&w,&h);
		if(w==0 && h==0)break;
		for(i=0;i<h;i++)scanf("%s",input[i]);
		memset(map,0,sizeof(map));
		for(i=h-1;i>=0;i--) {
			for(j=w-1;j>=0;j--) {
				if(isdigit(input[i][j])) {
					map[i][j][0]=input[i][j];
					map[i][j][1]=0;
					if(mystrcmp(map[i+1][j],map[i][j+1])>0) {
						strcat(map[i][j],map[i+1][j]);
					} else {
						strcat(map[i][j],map[i][j+1]);
					}
				}
			}
		}
		mi=mj=0;
		for(i=0;i<h;i++) {
			for(j=0;j<w;j++) {
				if(isdigit(input[i][j]) && input[i][j]!='0') {
					if(mystrcmp(map[i][j],map[mi][mj])>0) {
						mi=i;
						mj=j;
					}
				}
			}
		}
		puts(map[mi][mj]);
	}
	return 0;
}