#include <iostream>
#include <algorithm>
#include <cctype>
using namespace std;

int main(void){
    int W,H;
    string dp[2][70];
    string line,ans;
    while(cin >> W >> H, W){
        for(int i=0;i<70;i++){
            dp[0][i].clear();dp[1][i].clear();
        }
        ans.clear();
        for(int i=0;i<H;i++){
            cin >> line;
            for(int j=0;j<W;j++){
                dp[i&1][j].clear();
                if(isdigit(line[j])){
                    if(dp[(i&1)^1][j]!="0"){
                        dp[i&1][j]=dp[(i&1)^1][j]+line[j];
                    }else{
                        dp[i&1][j].push_back(line[j]);
                    }
                    if(j!=0&&dp[i&1][j-1]!="0") dp[i&1][j]=max(dp[i&1][j],dp[i&1][j-1]+line[j],[](const string& a, const string& b){return a.size()==b.size()? a < b : a.size() < b.size();});
                    ans=max(dp[i&1][j],ans,[](const string& a, const string& b){return a.size()==b.size()? a < b : a.size() < b.size();});
                }
            }
        }
        cout << ans << endl;
    }
    return 0;
}