from collections import deque h, w = map(int, input().split()) s = [input() for _ in range(h)] dx = [1, 0] dy = [0, 1] cands = set() cands.add((0, 0)) ans = [s[0][0]] for i in range(h + w - 2): c = None nxt_cands = set() for cx, cy in cands: for j in range(2): nx = cx + dx[j] ny = cy + dy[j] if nx >= h or ny >= w: continue if c is None or c > s[nx][ny]: c = s[nx][ny] nxt_cands = set() nxt_cands.add((nx, ny)) elif c == s[nx][ny]: nxt_cands.add((nx, ny)) cands = nxt_cands ans.append(c) print(*ans, sep='')