#include <iostream>
using namespace std;
const int MAX_SIZE = 1000;
const int TEN = 10;
/*
void add(int a[], int b[], int rezultat[]) {
for (int i = 1; i <= a[0] || i <= b[0]; ++i) {
int sum = rezultat[i] + a[i] + b[i];
rezultat[i] = sum % TEN;
rezultat[i + 1] = sum / TEN;
rezultat[0] = i;
if (sum >= TEN) {
rezultat[0] = i + 1;
}
}
}
*/
const int MAX_LENGTH = 1000;
void add(int a[], int b[], int sum[]) {
int aRev[MAX_LENGTH + 1], bRev[MAX_LENGTH + 1];
for (int i = 1; i <= a[0]; ++i) {
aRev[i] = a[a[0] - i + 1];
}
aRev[0] = a[0];
for (int i = 1; i <= b[0]; ++i) {
bRev[i] = b[b[0] - i + 1];
}
bRev[0] = b[0];
int maxLength;
if (aRev[0] > bRev[0]) {
maxLength = aRev[0];
} else {
maxLength = bRev[0];
}
int carry = 0;
int sumLength = 0;
for (int i = 1; i <= maxLength; ++i) {
if (aRev[1] != 0 || bRev[1] != 0) {
int currentSum = aRev[i] + bRev[i] + carry % 10;
sum[++sumLength] = currentSum % 10;
carry = currentSum / 10;
}
}
if (carry > 0) {
sum[++sumLength] = carry;
}
sum[0] = sumLength;
for (int i = 0; i <= sumLength; ++i) {
cout << sum[i] << " ";
}
}
int main() {
int a[MAX_SIZE + 1], b[MAX_SIZE + 1], rezultat[MAX_SIZE + 1] = {0};
cin >> a[0];
for (int i = 1; i <= a[0]; ++i) {
cin >> a[i];
}
cin >> b[0];
for (int i = 1; i <= b[0]; ++i) {
cin >> b[i];
}
add(a, b, rezultat);
for (int i = 0; i <= rezultat[0]; ++i) {
cout << rezultat[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9TSVpFID0gMTAwMDsKY29uc3QgaW50IFRFTiA9IDEwOwovKgp2b2lkIGFkZChpbnQgYVtdLCBpbnQgYltdLCBpbnQgcmV6dWx0YXRbXSkgewoJZm9yIChpbnQgaSA9IDE7IGkgPD0gYVswXSB8fCBpIDw9IGJbMF07ICsraSkgewoJCWludCBzdW0gPSByZXp1bHRhdFtpXSArIGFbaV0gKyBiW2ldOwoJCXJlenVsdGF0W2ldID0gc3VtICUgVEVOOwoJCXJlenVsdGF0W2kgKyAxXSA9IHN1bSAvIFRFTjsKCQlyZXp1bHRhdFswXSA9IGk7CgkJaWYgKHN1bSA+PSBURU4pIHsKCQkJcmV6dWx0YXRbMF0gPSBpICsgMTsKCQl9Cgl9Cn0KKi8KCmNvbnN0IGludCBNQVhfTEVOR1RIID0gMTAwMDsKCnZvaWQgYWRkKGludCBhW10sIGludCBiW10sIGludCBzdW1bXSkgewogICAgaW50IGFSZXZbTUFYX0xFTkdUSCArIDFdLCBiUmV2W01BWF9MRU5HVEggKyAxXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGFbMF07ICsraSkgewogICAgICAgIGFSZXZbaV0gPSBhW2FbMF0gLSBpICsgMV07CiAgICB9CiAgICBhUmV2WzBdID0gYVswXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGJbMF07ICsraSkgewogICAgICAgIGJSZXZbaV0gPSBiW2JbMF0gLSBpICsgMV07CiAgICB9CiAgICBiUmV2WzBdID0gYlswXTsKICAgIGludCBtYXhMZW5ndGg7CiAgICBpZiAoYVJldlswXSA+IGJSZXZbMF0pIHsKICAgICAgICBtYXhMZW5ndGggPSBhUmV2WzBdOwogICAgfSBlbHNlIHsKICAgICAgICBtYXhMZW5ndGggPSBiUmV2WzBdOwogICAgfQogICAgaW50IGNhcnJ5ID0gMDsKICAgIGludCBzdW1MZW5ndGggPSAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbWF4TGVuZ3RoOyArK2kpIHsKICAgICAgICBpZiAoYVJldlsxXSAhPSAwIHx8IGJSZXZbMV0gIT0gMCkgewogICAgICAgICAgICBpbnQgY3VycmVudFN1bSA9IGFSZXZbaV0gKyBiUmV2W2ldICsgY2FycnkgJSAxMDsKICAgICAgICAgICAgc3VtWysrc3VtTGVuZ3RoXSA9IGN1cnJlbnRTdW0gJSAxMDsKICAgICAgICAgICAgY2FycnkgPSBjdXJyZW50U3VtIC8gMTA7CiAgICAgICAgfQogICAgfQogICAgaWYgKGNhcnJ5ID4gMCkgewogICAgICAgIHN1bVsrK3N1bUxlbmd0aF0gPSBjYXJyeTsKICAgIH0KICAgIHN1bVswXSA9IHN1bUxlbmd0aDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IHN1bUxlbmd0aDsgKytpKSB7CiAgICAgICAgY291dCA8PCBzdW1baV0gPDwgIiAiOwogICAgfQp9CmludCBtYWluKCkgewoJaW50IGFbTUFYX1NJWkUgKyAxXSwgYltNQVhfU0laRSArIDFdLCByZXp1bHRhdFtNQVhfU0laRSArIDFdID0gezB9OwoJY2luID4+IGFbMF07Cglmb3IgKGludCBpID0gMTsgaSA8PSBhWzBdOyArK2kpIHsKCQljaW4gPj4gYVtpXTsKCX0KCWNpbiA+PiBiWzBdOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gYlswXTsgKytpKSB7CgkJY2luID4+IGJbaV07Cgl9CglhZGQoYSwgYiwgcmV6dWx0YXQpOwoJZm9yIChpbnQgaSA9IDA7IGkgPD0gcmV6dWx0YXRbMF07ICsraSkgewoJCWNvdXQgPDwgcmV6dWx0YXRbaV0gPDwgIiAiOwoJfQoJcmV0dXJuIDA7Cn0K