#include<bits/stdc++.h>
using namespace std;
int main() {
string s1, s2;
getline(cin, s1);
getline(cin, s2);
int m = s1.size();
int n = s2.size();
int edit[n+1][m+1];
for (int i = 0; i < n + 1; i++) {
edit[i][0] = i;
}
for (int j = 0; j < m + 1; j++) {
edit[0][j] = j;
}
for (int i = 1; i < n + 1; i++) {
for (int j = 1; j < m + 1; j++) {
if (s2[i - 1] == s1[j - 1]) {
edit[i][j] = edit[i - 1][j - 1];
} else {
edit[i][j] = 1 + min({edit[i - 1][j], edit[i][j - 1], edit[i - 1][j - 1]});
}
}
}
for (int i = 0; i < n + 1; i++) {
for (int j = 0; j < m + 1; j++) {
cout << edit[i][j] << " ";
}
cout << endl;
}
int i = n, j = m;
while (i > 0 && j > 0) {
if (s2[i - 1] == s1[j - 1]) {
i = i - 1;
j = j - 1;
} else {
if (edit[i][j] == 1 + edit[i - 1][j - 1]) {
cout << s1[j - 1] << " is replaced by " << s2[i - 1] << endl;
i = i - 1;
j = j - 1;
} else if (edit[i][j] == 1 + edit[i - 1][j]) {
cout << s2[i - 1] << " is inserted" << endl;
i = i - 1;
} else {
cout << s1[j - 1] << " is deleted" << endl;
j = j - 1;
}
}
}
while (j > 0) {
cout << s1[j - 1] << " is deleted" << endl;
j = j - 1;
}
while (i > 0) {
cout << s2[i - 1] << " is inserted" << endl;
i = i - 1;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSB7CiAgICBzdHJpbmcgczEsIHMyOwogICAgZ2V0bGluZShjaW4sIHMxKTsKICAgIGdldGxpbmUoY2luLCBzMik7CgogICAgaW50IG0gPSBzMS5zaXplKCk7CiAgICBpbnQgbiA9IHMyLnNpemUoKTsKICAgIGludCBlZGl0W24rMV1bbSsxXTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gKyAxOyBpKyspIHsKICAgICAgICBlZGl0W2ldWzBdID0gaTsKICAgIH0KICAgIGZvciAoaW50IGogPSAwOyBqIDwgbSArIDE7IGorKykgewogICAgICAgIGVkaXRbMF1bal0gPSBqOwogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBuICsgMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDE7IGogPCBtICsgMTsgaisrKSB7CiAgICAgICAgICAgIGlmIChzMltpIC0gMV0gPT0gczFbaiAtIDFdKSB7CiAgICAgICAgICAgICAgICBlZGl0W2ldW2pdID0gZWRpdFtpIC0gMV1baiAtIDFdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZWRpdFtpXVtqXSA9IDEgKyBtaW4oe2VkaXRbaSAtIDFdW2pdLCBlZGl0W2ldW2ogLSAxXSwgZWRpdFtpIC0gMV1baiAtIDFdfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuICsgMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBtICsgMTsgaisrKSB7CiAgICAgICAgICAgIGNvdXQgPDwgZWRpdFtpXVtqXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KCiAgICBpbnQgaSA9IG4sIGogPSBtOwogICAgd2hpbGUgKGkgPiAwICYmIGogPiAwKSB7CiAgICAgICAgaWYgKHMyW2kgLSAxXSA9PSBzMVtqIC0gMV0pIHsKICAgICAgICAgICAgaSA9IGkgLSAxOwogICAgICAgICAgICBqID0gaiAtIDE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKGVkaXRbaV1bal0gPT0gMSArIGVkaXRbaSAtIDFdW2ogLSAxXSkgewogICAgICAgICAgICAgICAgY291dCA8PCBzMVtqIC0gMV0gPDwgIiBpcyByZXBsYWNlZCBieSAiIDw8IHMyW2kgLSAxXSA8PCBlbmRsOwogICAgICAgICAgICAgICAgaSA9IGkgLSAxOwogICAgICAgICAgICAgICAgaiA9IGogLSAxOwogICAgICAgICAgICB9IGVsc2UgaWYgKGVkaXRbaV1bal0gPT0gMSArIGVkaXRbaSAtIDFdW2pdKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHMyW2kgLSAxXSA8PCAiIGlzIGluc2VydGVkIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgaSA9IGkgLSAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY291dCA8PCBzMVtqIC0gMV0gPDwgIiBpcyBkZWxldGVkIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgaiA9IGogLSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgd2hpbGUgKGogPiAwKSB7CiAgICAgICAgY291dCA8PCBzMVtqIC0gMV0gPDwgIiBpcyBkZWxldGVkIiA8PCBlbmRsOwogICAgICAgIGogPSBqIC0gMTsKICAgIH0KICAgIHdoaWxlIChpID4gMCkgewogICAgICAgIGNvdXQgPDwgczJbaSAtIDFdIDw8ICIgaXMgaW5zZXJ0ZWQiIDw8IGVuZGw7CiAgICAgICAgaSA9IGkgLSAxOwogICAgfQp9Cg==
YWJjZGVmCmF5Y2VkCjAgMSAyIDMgNCA1IDYKMSAwIDEgMiAzIDQgNQoyIDEgMSAyIDMgNCA1CjMgMiAyIDEgMiAzIDQKNCAzIDMgMiAyIDIgMwo1IDQgNCAzIDIgMyAzCmYgaXMgcmVwbGFjZWQgYnkgZApkIGlzIGRlbGV0ZWQKYiBpcyByZXBsYWNlZCBieSB5Cg==
abcdef
ayced
0 1 2 3 4 5 6
1 0 1 2 3 4 5
2 1 1 2 3 4 5
3 2 2 1 2 3 4
4 3 3 2 2 2 3
5 4 4 3 2 3 3
f is replaced by d
d is deleted
b is replaced by y