#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