#include <stdio.h>
#include <string.h>
#define SIZE 101
int num[SIZE] = {};
int res[SIZE] = {0};
int n_1 = '0';
int top=-1;
void push(int a)
{
top++;
num[top] = a;
}
int pop()
{
return num[top--];
}
int main()
{
char n1[SIZE]={}, n2[SIZE]={};
int i, j, a, over=0, n11=0, n22=0, a1;
scanf("%s %s", n1, n2);
if(strlen(n1)>strlen(n2))
{
a = strlen(n1);
}
else
{
a = strlen(n2);
}
n11=strlen(n1)-1;
n22=strlen(n2)-1;
for(i=0; i<=a; i++)
{
if(n11==-1 || n22==-1)
{
if(n11==-1 && n22!=-1)
{
int num2[1000];
for(j=n22; j>=0; j--)
{
if(j==0)
{
num2[j]=((n2[j]-n_1)+over);
}
num2[j]=((n2[j]-n_1)+over)%10;
over = ((n2[j]-n_1)+over)/10;
}
for(j=0; j<=n22; i++)
{
printf("%d", num2[j]);
}
}
else if(n22==-1&&n11!=-1)
{
int num2[1000];
for(j=n11; j>=0; j--)
{
if(j==0)
{
num2[j]=((n1[j]-n_1)+over);
}
num2[j]=((n1[j]-n_1)+over)%10;
over = ((n1[j]-n_1)+over)/10;
};
for(j=0; j<=n11; j++)
{
printf("%d", num2[j]);
}
}
a1 = top;
for(j=0; j<=a1; j++)
{
printf("%d", pop());
}
return 0;
}
if(n11==n22)
{
if(n11 == 0)
{
push((n1[n11]-n_1)+(n2[n22]-n_1)+over);
}
else
{
push(((n1[n11]-n_1)+(n2[n22]-n_1)+over)%10);
over = ((n1[n11]-n_1)+(n2[n22]-n_1)+over)/10;
}
}
else
{
push(((n1[n11]-n_1)+(n2[n22]-n_1)+over)%10);
over = ((n1[n11]-n_1)+(n2[n22]-n_1)+over)/10;
}
n11--;
n22--;
}
return 0;
}