#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string X, Y;
if (!getline(cin, X)) return 0;
if (!getline(cin, Y)) return 0;
int m = (int)X.size(), n = (int)Y.size();
vector<vector<int>> lcs(m + 1, vector<int>(n + 1, 0));
for (int i = m - 1; i >= 0; --i)
for (int j = n - 1; j >= 0; --j)
lcs[i][j] = (X[i] == Y[j]) ? 1 + lcs[i + 1][j + 1] : max(lcs[i + 1][j], lcs[i][j + 1]);
vector<vector<int>> nx(m + 1, vector<int>(26, m)), ny(n + 1, vector<int>(26, n));
for (int i = m - 1; i >= 0; --i) {
nx[i] = nx[i + 1];
nx[i][X[i] - 'a'] = i;
}
for (int j = n - 1; j >= 0; --j) {
ny[j] = ny[j + 1];
ny[j][Y[j] - 'a'] = j;
}
string Z;
int i = 0, j = 0, rem = lcs[0][0];
while (rem > 0) {
for (int c = 0; c < 26; ++c) {
int i1 = nx[i][c], j1 = ny[j][c];
if (i1 < m && j1 < n && lcs[i1 + 1][j1 + 1] == rem - 1) {
Z.push_back(char('a' + c));
i = i1 + 1; j = j1 + 1; --rem;
break;
}
}
}
vector<vector<int>> scs(m + 1, vector<int>(n + 1, 0));
for (int i = m - 1; i >= 0; --i) scs[i][n] = m - i;
for (int j = n - 1; j >= 0; --j) scs[m][j] = n - j;
for (int i = m - 1; i >= 0; --i)
for (int j = n - 1; j >= 0; --j)
scs[i][j] = (X[i] == Y[j]) ? 1 + scs[i + 1][j + 1] : 1 + min(scs[i + 1][j], scs[i][j + 1]);
string Z2;
i = 0; j = 0;
while (i < m || j < n) {
if (i == m) { Z2.push_back(Y[j++]); }
else if (j == n) { Z2.push_back(X[i++]); }
else if (X[i] == Y[j]) { Z2.push_back(X[i]); ++i; ++j; }
else {
if (scs[i + 1][j] < scs[i][j + 1]) { Z2.push_back(X[i++]); }
else if (scs[i + 1][j] > scs[i][j + 1]) { Z2.push_back(Y[j++]); }
else {
if (X[i] <= Y[j]) Z2.push_back(X[i++]);
else Z2.push_back(Y[j++]);
}
}
}
cout << Z << "\n" << Z2 << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBzdHJpbmcgWCwgWTsKICAgIGlmICghZ2V0bGluZShjaW4sIFgpKSByZXR1cm4gMDsKICAgIGlmICghZ2V0bGluZShjaW4sIFkpKSByZXR1cm4gMDsKICAgIGludCBtID0gKGludClYLnNpemUoKSwgbiA9IChpbnQpWS5zaXplKCk7CgogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBsY3MobSArIDEsIHZlY3RvcjxpbnQ+KG4gKyAxLCAwKSk7CiAgICBmb3IgKGludCBpID0gbSAtIDE7IGkgPj0gMDsgLS1pKQogICAgICAgIGZvciAoaW50IGogPSBuIC0gMTsgaiA+PSAwOyAtLWopCiAgICAgICAgICAgIGxjc1tpXVtqXSA9IChYW2ldID09IFlbal0pID8gMSArIGxjc1tpICsgMV1baiArIDFdIDogbWF4KGxjc1tpICsgMV1bal0sIGxjc1tpXVtqICsgMV0pOwoKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gbngobSArIDEsIHZlY3RvcjxpbnQ+KDI2LCBtKSksIG55KG4gKyAxLCB2ZWN0b3I8aW50PigyNiwgbikpOwogICAgZm9yIChpbnQgaSA9IG0gLSAxOyBpID49IDA7IC0taSkgewogICAgICAgIG54W2ldID0gbnhbaSArIDFdOwogICAgICAgIG54W2ldW1hbaV0gLSAnYSddID0gaTsKICAgIH0KICAgIGZvciAoaW50IGogPSBuIC0gMTsgaiA+PSAwOyAtLWopIHsKICAgICAgICBueVtqXSA9IG55W2ogKyAxXTsKICAgICAgICBueVtqXVtZW2pdIC0gJ2EnXSA9IGo7CiAgICB9CgogICAgc3RyaW5nIFo7CiAgICBpbnQgaSA9IDAsIGogPSAwLCByZW0gPSBsY3NbMF1bMF07CiAgICB3aGlsZSAocmVtID4gMCkgewogICAgICAgIGZvciAoaW50IGMgPSAwOyBjIDwgMjY7ICsrYykgewogICAgICAgICAgICBpbnQgaTEgPSBueFtpXVtjXSwgajEgPSBueVtqXVtjXTsKICAgICAgICAgICAgaWYgKGkxIDwgbSAmJiBqMSA8IG4gJiYgbGNzW2kxICsgMV1bajEgKyAxXSA9PSByZW0gLSAxKSB7CiAgICAgICAgICAgICAgICBaLnB1c2hfYmFjayhjaGFyKCdhJyArIGMpKTsKICAgICAgICAgICAgICAgIGkgPSBpMSArIDE7IGogPSBqMSArIDE7IC0tcmVtOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBzY3MobSArIDEsIHZlY3RvcjxpbnQ+KG4gKyAxLCAwKSk7CiAgICBmb3IgKGludCBpID0gbSAtIDE7IGkgPj0gMDsgLS1pKSBzY3NbaV1bbl0gPSBtIC0gaTsKICAgIGZvciAoaW50IGogPSBuIC0gMTsgaiA+PSAwOyAtLWopIHNjc1ttXVtqXSA9IG4gLSBqOwogICAgZm9yIChpbnQgaSA9IG0gLSAxOyBpID49IDA7IC0taSkKICAgICAgICBmb3IgKGludCBqID0gbiAtIDE7IGogPj0gMDsgLS1qKQogICAgICAgICAgICBzY3NbaV1bal0gPSAoWFtpXSA9PSBZW2pdKSA/IDEgKyBzY3NbaSArIDFdW2ogKyAxXSA6IDEgKyBtaW4oc2NzW2kgKyAxXVtqXSwgc2NzW2ldW2ogKyAxXSk7CgogICAgc3RyaW5nIFoyOwogICAgaSA9IDA7IGogPSAwOwogICAgd2hpbGUgKGkgPCBtIHx8IGogPCBuKSB7CiAgICAgICAgaWYgKGkgPT0gbSkgeyBaMi5wdXNoX2JhY2soWVtqKytdKTsgfQogICAgICAgIGVsc2UgaWYgKGogPT0gbikgeyBaMi5wdXNoX2JhY2soWFtpKytdKTsgfQogICAgICAgIGVsc2UgaWYgKFhbaV0gPT0gWVtqXSkgeyBaMi5wdXNoX2JhY2soWFtpXSk7ICsraTsgKytqOyB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmIChzY3NbaSArIDFdW2pdIDwgc2NzW2ldW2ogKyAxXSkgeyBaMi5wdXNoX2JhY2soWFtpKytdKTsgfQogICAgICAgICAgICBlbHNlIGlmIChzY3NbaSArIDFdW2pdID4gc2NzW2ldW2ogKyAxXSkgeyBaMi5wdXNoX2JhY2soWVtqKytdKTsgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChYW2ldIDw9IFlbal0pIFoyLnB1c2hfYmFjayhYW2krK10pOwogICAgICAgICAgICAgICAgZWxzZSBaMi5wdXNoX2JhY2soWVtqKytdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IFogPDwgIlxuIiA8PCBaMiA8PCAiXG4iOwogICAgcmV0dXJuIDA7Cn0K