1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;

string dodaj(string a, string b) {
    string ans = "";
    if (a.size() < b.size())
        swap(a, b);
    while (b.size() < a.size())
        b.insert(b.begin(), '0');
    int n = a.size() - 1;
    int dod = 0;
    for (int i = n; i >= 0; i--) {
        int sum = (a[i] - '0') + (b[i] - '0') + dod;
        char z = (sum % 10) + '0';
        dod = sum / 10;
        ans.insert(ans.begin(), z);
    }
    if (dod > 0) 
        ans.insert(ans.begin(), dod + '0');
    return ans;
}

void solve() {
    string a, b;
    cin >> a >> b;
    cout << dodaj(a, b) << "\n";
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    solve();
}