#include<cctype>
#include<string>
#include<iostream>

using namespace std;

int main(){
	for(int w,h;scanf("%d%d",&w,&h),w;){
		char mat[71][72];
		w++,h++;
		for(int i=0;i<h;i++)	mat[i][0]='X';
		for(int j=0;j<w;j++)	mat[0][j]='X';
		for(int i=1;i<h;i++)	cin>>&mat[i][1];

		string memo[71][71];
		for(int i=1;i<h;i++)for(int j=1;j<w;j++){
			if(!isdigit(mat[i][j]))	continue;

			int len1=memo[i-1][j].length(),len2=memo[i][j-1].length();
			if(len1>0 && len2>0){
				if     (len1>len2)	memo[i][j]=memo[i-1][j];
				else if(len2>len1)	memo[i][j]=memo[i][j-1];
				else	memo[i][j]=max(memo[i-1][j],memo[i][j-1]);
			}
			else if(len1>0)	memo[i][j]=memo[i-1][j];
			else if(len2>0)	memo[i][j]=memo[i][j-1];
			else{
				if(mat[i][j]=='0')	continue;
			}
			memo[i][j]+=mat[i][j];
		}

		string ans;
		int lmax=0;
		for(int i=1;i<h;i++)for(int j=1;j<w;j++){
			int len=memo[i][j].length();
			if(lmax<len || (len==lmax && ans<memo[i][j])){
				ans=memo[i][j];
				lmax=len;
			}
		}
		cout<<ans<<endl;
	}

	return 0;
}