#include <iostream>
#include <cstring>
using std::cin;
using std::cout;
using std::endl;
char *add( char *s1, char *s2 );
char *reversal_str(char *s);
int main()
{
char s1[100000],s2[100000];
while( cin >> s1 >> s2 )
cout << add(s1,s2) << endl;
return 0;
}
char *add( char *s1, char *s2 )
{
reversal_str(s1); reversal_str(s2);
char carryBit = '0';
int len1 = strlen(s1), len2 = strlen(s2);
int len = len1 > len2 ? len1: len2;
char result[100000];
int i = 0;
for ( i = len1; i != len; ++i )
s1[i] = '0';
for ( i = len2; i != len; ++i )
s2[i] = '0';
for ( i = 0; i != len; ++i ){
result[i] = (s1[i] + s2[i] + carryBit - 3*'0')%10 + '0';
carryBit = (s1[i] + s2[i] + carryBit - 3*'0')/10 + '0';
}
if ('0' != carryBit)
result[i] = carryBit;
return reversal_str(result);
}
char *reversal_str(char *s)
{
int len = strlen(s);
for ( int i = 0; i != len/2; ++i ){
char temp;
temp = s[i];
s[i] = s[len - 1 - i];
s[len - 1 - i] = temp;
}
return s;
}