#include <stdio.h>

int main()
{
    char num_str[2][10001] = {0};
    
    /* 输入 */
    for(int i = 0; i < 2; i++)
    {
        if(NULL == gets(num_str[i]))
        {
            return 0;
        }
    }
    int len0 = strlen(num_str[0]);
    int len1 = strlen(num_str[1]);
    int index = len0 > len1 ? 0 : 1;        //长度长的字符串 下标
    int min_index;                          //长度短的字符串 下标
    
    if(index)
    {
        min_index = 0;
    }
    else
    {
        min_index = 1;
    }
    int offset = len0 > len1 ? len0 - len1 : len1 - len0;
    
    int carray_bit = 0;
    for(int i = strlen(num_str[index]) - 1; i >= 0; i--)
    {
        char c;
        if(i - offset >= 0)        //短字符串位数 未加完
        {
            c = num_str[index][i] + num_str[min_index][i - offset] + carray_bit - '0';
        }
        else{                     //短字符串位数 已加完,则仅与进位符相加
            c = num_str[index][i] + carray_bit;
        }
        
        if(c >= '0' + 10)        // 超过10 进位
        {
            carray_bit = 1;
            num_str[index][i] = c - 10;
        }
        else
        {
            num_str[index][i] = c;
            carray_bit = 0;
        }
    }
    
    if(carray_bit)
    {
        printf("%d", carray_bit);
    }
    
    printf("%s", num_str[index]);
    
    
    
    return 0;
}