#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    char *A=NULL,*B=NULL,*rev;
    size_t n=0,m=0;
    size_t a=getline(&A,&n,stdin), b=getline(&B,&m,stdin);
    if (a<=0 || b<=0) return 0;
    if (A[a-1]=='\n') A[--a]=0;
    if (B[b-1]=='\n') B[--b]=0;

    size_t k = (a>b?a:b);
    rev = malloc(k+1);
    const char *pa=A+a-1, *pb=B+b-1;
    size_t first = k;                   // leftmost non-zero index

    for (size_t i=0;i<k;i++) {          // (a+b)%10 and place in final order
        int da = (pa>=A) ? *pa-- - '0' : 0;
        int db = (pb>=B) ? *pb-- - '0' : 0;
        char ch = ((da+db)%10) + '0';
        size_t pos = k-1-i;
        rev[pos] = ch;
        if (ch!='0' && pos<first) first = pos;
    }
    rev[k]=0;

    puts(first==k ? "0" : rev+first);   // print without leading zeros

    free(A); free(B); free(rev);
}

#牛客AI配图神器#