H,W=map(int,input().split()) L=list() for i in range(H): s=input() L.append(s) ans=list() ans.append(L[0][0]) A=[0,0] def f(x,y): if 0<=x=L[a][b+1]: t=min(t,L[a][b+1]) P=[a,b+1] T.add((a,b+1)) if not flag: if t>=L[a][b+1]: P=[a,b+1] t=L[a][b+1] if f(a+1,b): T.add((a+1,b)) if c==1: c=L[a+1][b] P=[a+1,b] t=c elif c!=L[a+1][b]: flag=False if t>=L[a+1][b]: t=min(t,L[a+1][b]) P=[a+1,b] if not flag: if t>=L[a+1][b]: P=[a+1,b] t=L[a+1][b] if not flag: for _ in range(i-1): ans.append(c) ans.append(t) A=P break print("".join(ans))