#include<cstdio> #include<string> #include<vector> #include<stack> #include<vector> using namespace std; int main() { char buffer1[1000]; char buffer2[1000]; //stack<char> sta; vector<char> vec; while (scanf("%s %s", buffer1, buffer2) != EOF) { string str1 = buffer1; string str2 = buffer2; int i = str1.size() - 1, j = str2.size() - 1; int flag = 0; while (i>= 0 && j>= 0) { char x = str1[i] + str2[j] - '0' + flag; flag = 0; if (x > '9') { flag = 1; x = x - 10; } //sta.push(x); vec.push_back(x); i--; j--; } if (flag == 1 && i < 0 && j < 0) { vec.push_back('1'); } while(i >= 0) { //sta.push(str1[i--]); if (flag + str1[i] > '9') { vec.push_back(flag+str1[i]-10); } else vec.push_back(flag + str1[i]); flag = (flag + str1[i] - '0') / 10; i--; } while (j >= 0) { //sta.push(str2[j--]); if (flag + str2[j] > '9') { vec.push_back(flag + str2[j] - 10); } else vec.push_back(flag + str2[j]); flag = (flag + str2[j] - '0') / 10; j--; } /*while (!sta.empty()) { printf("%c", sta.top()); sta.pop(); }*/ for (int i = vec.size() - 1; i >= 0; i--) { printf("%c", vec[i]); } printf("\n"); vec.clear(); } }