#include using namespace std; int h, w; string s[3000]; set> t[6000]; int main() { cin >> h >> w; for (int i = 0; i < h; i++) cin >> s[i]; t[0].insert({ s[0].substr(0, 1), 0}); for (int k = 0; k < h + w - 2; k++) { if (!t[k].empty()) { string u = t[k].begin()->first; for (auto j : t[k]) { if (j.first != u) break; int i = j.second; if (i < h - 1) { string v = u; v.push_back(s[i + 1][k - i]); t[k + 1].insert({ v, i + 1 }); } if (k - i < w - 1) { string v = u; v.push_back(s[i][k - i + 1]); t[k + 1].insert({ v, i }); } } } } cout << t[h + w - 2].begin()->first << endl; }