#include <stdio.h> #include <string.h> char s[2][10002] = {}; void add(char* s1, char* s2, char* result) { int ov = 0; int length[2] = {}; int lengthMax, lengthMin; int temp = 0; char* s; char* l; int i; length[0] = strlen(s1); length[1] = strlen(s2); if (length[0] > length[1]) { l=s1; s=s2; lengthMax=length[0]; lengthMin=length[1]; } else { l=s2; s=s1; lengthMax=length[1]; lengthMin=length[0]; } for (i=0; i<lengthMin; ++i) { temp = l[i]-'0'+s[i]-'0'+ov; if (temp >= 10) ov=1; else ov=0; result[i] = (temp%10)+'0'; } for (i=lengthMin; i<lengthMax; ++i) { temp = l[i]-'0'+ov; if (temp >= 10) ov=1; else ov=0; result[i] = (temp%10)+'0'; } if (ov == 1) { result[i] = '1'; } } void reverse(char* s) { int length = 0; int i; char temp; length = strlen(s); for (i=0; i<length/2; ++i) { temp = s[i]; s[i] = s[length-1-i]; s[length-1-i] = temp; } } int main() { char result[10001] = {}; scanf("%s\n%s", s[0],s[1]); reverse(s[0]); reverse(s[1]); add(s[0], s[1], result); reverse(result); printf("%s", result); return 0; }