#include <iostream>
using namespace std;
void add(int a[], int b[]) {
int carry = 0;
int maxLength = max(a[0], b[0]);
int sum[1000] = {0};
for (int i = 1; i <= maxLength; ++i) {
int digitA, digitB;
if (i <= a[0]) {
digitA = a[i];
} else {
digitA = 0;
}
if (i <= b[0]) {
digitB = b[i];
} else {
digitB = 0;
}
int sumDigits = digitA + digitB + carry;
a[i] = sumDigits % 10;
carry = sumDigits / 10;
}
if (carry > 0) {
a[maxLength + 1] = carry;
a[0] = maxLength + 1;
} else {
a[0] = maxLength;
}
}
int main() {
int a[] = {5, 1, 2, 2, 5, 8};
int b[] = {6, 2, 2, 2, 6, 7, 8};
add(a, b);
for (int i = a[0]; i >= 1; --i) {
cout << a[i];
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBhZGQoaW50IGFbXSwgaW50IGJbXSkgewogICAgaW50IGNhcnJ5ID0gMDsKICAgIGludCBtYXhMZW5ndGggPSBtYXgoYVswXSwgYlswXSk7CiAgICBpbnQgc3VtWzEwMDBdID0gezB9OwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbWF4TGVuZ3RoOyArK2kpIHsKICAgICAgICBpbnQgZGlnaXRBLCBkaWdpdEI7CiAgICAgICAgaWYgKGkgPD0gYVswXSkgewogICAgICAgICAgICBkaWdpdEEgPSBhW2ldOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRpZ2l0QSA9IDA7CiAgICAgICAgfQogICAgICAgIGlmIChpIDw9IGJbMF0pIHsKICAgICAgICAgICAgZGlnaXRCID0gYltpXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBkaWdpdEIgPSAwOwogICAgICAgIH0KICAgICAgICBpbnQgc3VtRGlnaXRzID0gZGlnaXRBICsgZGlnaXRCICsgY2Fycnk7CiAgICAgICAgYVtpXSA9IHN1bURpZ2l0cyAlIDEwOwogICAgICAgIGNhcnJ5ID0gc3VtRGlnaXRzIC8gMTA7CiAgICB9CiAgICBpZiAoY2FycnkgPiAwKSB7CiAgICAgICAgYVttYXhMZW5ndGggKyAxXSA9IGNhcnJ5OwogICAgICAgIGFbMF0gPSBtYXhMZW5ndGggKyAxOwogICAgfSBlbHNlIHsKICAgICAgICBhWzBdID0gbWF4TGVuZ3RoOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGludCBhW10gPSB7NSwgMSwgMiwgMiwgNSwgOH07CiAgICBpbnQgYltdID0gezYsIDIsIDIsIDIsIDYsIDcsIDh9OwogICAgYWRkKGEsIGIpOwogICAgZm9yIChpbnQgaSA9IGFbMF07IGkgPj0gMTsgLS1pKSB7CiAgICAgICAgY291dCA8PCBhW2ldOwogICAgfQogICAgY291dCA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K