#include <iostream>
using namespace std;
const int MAX_SIZE = 1000;
const int TEN = 10;
void add(int a[], int b[], int sum[]) {
sum[0] = 0; // Inițializăm numărul de cifre din sum
int carry = 0; // Inițializăm transportul
int i = 1; // Începem de la prima cifră
// Continuăm până când am procesat toate cifrele din a și b
while (i <= a[0] || i <= b[0] || carry) {
int digitA = (i <= a[0]) ? a[i] : 0; // Obținem cifra din a (sau 0)
int digitB = (i <= b[0]) ? b[i] : 0; // Obținem cifra din b (sau 0)
int sumDigit = digitA + digitB + carry; // Cifra sumată
carry = sumDigit / TEN; // Calculăm transportul
sum[++sum[0]] = sumDigit % TEN; // Salvăm cifra în sum
++i; // Trecem la următoarea cifră
}
}
int main() {
int a[MAX_SIZE + 1], b[MAX_SIZE + 1], sum[MAX_SIZE + 1] = {0};
// Citim primul număr
cin >> a[0];
for (int i = 1; i <= a[0]; ++i) {
cin >> a[i];
}
// Citim al doilea număr
cin >> b[0];
for (int j = 1; j <= b[0]; ++j) {
cin >> b[j];
}
// Apelăm funcția add
add(a, b, sum);
// Afișăm rezultatul
for (int i = 1; i <= sum[0]; ++i) { // Afișăm de la cea mai semnificativă cifră
cout << sum[i] << " ";
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9TSVpFID0gMTAwMDsKY29uc3QgaW50IFRFTiA9IDEwOwoKdm9pZCBhZGQoaW50IGFbXSwgaW50IGJbXSwgaW50IHN1bVtdKSB7CiAgICBzdW1bMF0gPSAwOyAvLyBJbmnIm2lhbGl6xINtIG51bcSDcnVsIGRlIGNpZnJlIGRpbiBzdW0KICAgIGludCBjYXJyeSA9IDA7IC8vIEluacibaWFsaXrEg20gdHJhbnNwb3J0dWwKICAgIGludCBpID0gMTsgLy8gw45uY2VwZW0gZGUgbGEgcHJpbWEgY2lmcsSDCgogICAgLy8gQ29udGludcSDbSBww6JuxIMgY8OibmQgYW0gcHJvY2VzYXQgdG9hdGUgY2lmcmVsZSBkaW4gYSDImWkgYgogICAgd2hpbGUgKGkgPD0gYVswXSB8fCBpIDw9IGJbMF0gfHwgY2FycnkpIHsKICAgICAgICBpbnQgZGlnaXRBID0gKGkgPD0gYVswXSkgPyBhW2ldIDogMDsgLy8gT2LIm2luZW0gY2lmcmEgZGluIGEgKHNhdSAwKQogICAgICAgIGludCBkaWdpdEIgPSAoaSA8PSBiWzBdKSA/IGJbaV0gOiAwOyAvLyBPYsibaW5lbSBjaWZyYSBkaW4gYiAoc2F1IDApCgogICAgICAgIGludCBzdW1EaWdpdCA9IGRpZ2l0QSArIGRpZ2l0QiArIGNhcnJ5OyAvLyBDaWZyYSBzdW1hdMSDCiAgICAgICAgY2FycnkgPSBzdW1EaWdpdCAvIFRFTjsgLy8gQ2FsY3VsxINtIHRyYW5zcG9ydHVsCiAgICAgICAgc3VtWysrc3VtWzBdXSA9IHN1bURpZ2l0ICUgVEVOOyAvLyBTYWx2xINtIGNpZnJhIMOubiBzdW0KCiAgICAgICAgKytpOyAvLyBUcmVjZW0gbGEgdXJtxIN0b2FyZWEgY2lmcsSDCiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW50IGFbTUFYX1NJWkUgKyAxXSwgYltNQVhfU0laRSArIDFdLCBzdW1bTUFYX1NJWkUgKyAxXSA9IHswfTsKCiAgICAvLyBDaXRpbSBwcmltdWwgbnVtxINyCiAgICBjaW4gPj4gYVswXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGFbMF07ICsraSkgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQoKICAgIC8vIENpdGltIGFsIGRvaWxlYSBudW3Eg3IKICAgIGNpbiA+PiBiWzBdOwogICAgZm9yIChpbnQgaiA9IDE7IGogPD0gYlswXTsgKytqKSB7CiAgICAgICAgY2luID4+IGJbal07CiAgICB9CgogICAgLy8gQXBlbMSDbSBmdW5jyJtpYSBhZGQKICAgIGFkZChhLCBiLCBzdW0pOwoKICAgIC8vIEFmaciZxINtIHJlenVsdGF0dWwKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHN1bVswXTsgKytpKSB7IC8vIEFmaciZxINtIGRlIGxhIGNlYSBtYWkgc2VtbmlmaWNhdGl2xIMgY2lmcsSDCiAgICAgICAgY291dCA8PCBzdW1baV0gPDwgIiAiOwogICAgfQogICAgY291dCA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==