#include <stdio.h>
#include <string.h>
int main(){
char addend[1000];
while(gets(addend)){
char augend[1000];
int n1[300]={0},n2[300]={0},res[300]={0};
gets(augend);
int len1=strlen(addend);
int len2=strlen(augend);
int i,j,carry=0;
for(i=0;i<len1;i++){//用各个位的字符与字符‘0’的差值作为计算的操作数
n1[i]=addend[len1-1-i]-'0';//按逆序输入到数组中,因为是从最低为依次往高位相加
}
for(i=0;i<len2;i++){
n2[i]=augend[len2-1-i]-'0';
}
for(i=0;i<len1||i<len2;i++){
res[i]=(n1[i]+n2[i]+carry)%10;//对应位置相加和10的取余为该位值,如果大于9意味着要向前进一位
carry=(n1[i]+n2[i]+carry)>9?1:0;
}
int len=len1>len2?len1:len2;
if(res[len]==0)//
len=len-1;
for(i=len;i>=0;i--){
printf("%d",res[i]);
}
printf("\n");
}
return 0;
} #python大法好,但就做题来说没什么意义
while True:
try:
s1=int(input())
s2=int(input())
print(s1+s2)
except:
break