/*
#include <stdio.h>
int arr[1000001]={};
void qs(int s,int e)
{
if(s>=e) return ;
int pivot=s;
int left=s;
int right=e+1;
while(1)
{
do
{
left++;
}while(arr[pivot] > arr[left]);
do
{
right--;
}while(arr[pivot]<arr[right]);
if(right < left) break;
int tmp = arr[left];
arr[left]=arr[right];
arr[right]=tmp;
}
int tmp = arr[pivot];
arr[pivot]=arr[right];
arr[right]=tmp;
qs(s,right-1);
qs(right+1,e);
}
int main()
{
int e,s,k,a,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
}
qs(1,n);
for(i=1;i<=n;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
int stack[110]={},stack1[110]={},stack2[110]={};
int top=-1,top1=-1,top2=-1;
void push(int a)
{
top++;
stack[top]=a;
}
void push1(int a)
{
top1++;
stack1[top1]=a;
}
void push2(int a)
{
top2++;
stack2[top2]=a;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int pop1()
{
if(top1==-1) return 0;
return stack1[top1--];
}
int pop2()
{
if(top2==-1) return 0;
return stack2[top2--];
}
int main()
{
char n[101]={},a[101]={};
int i,t, x, y, z, c=0; // c :올림수
scanf("%s %s",n,a);
for(i=0;n[i]!=NULL;i++)
{
push1(n[i]-'0');
}
for(i=0;a[i]!=NULL;i++)
{
push2(a[i]-'0');
}
//성일이가 혼!자! 작성해보기!!
while(1)
{
if(top1==-1 && top2==-1)
{
break;
}
x=pop1();
y=pop2();
z=x+y+c;
push(z%10);
c=z/10;
if(c!=0) pop();
}
while(top!=-1)
{
printf("%d",pop());
}
return 0;
}