#include <iostream> #include <string> #include <algorithm> using namespace std; string add(string a, string b) { reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); int sz = max(a.size(), b.size()); for (int i = a.size(); i < sz; i++) a.push_back('0'); for (int i = b.size(); i < sz; i++) b.push_back('0'); string ans(sz + 1, '0'); int carry = 0; for (int i = 0; i < sz; i++) { int tmp = carry + a[i] + b[i] - 2*'0'; ans[i] = tmp%10 + '0'; if (tmp >= 10) carry = 1; else carry = 0; } if (ans.back() == '0') ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } int main() { string a, b; while (cin >> a >> b) { cout << add(a, b) << endl; } return 0; }