/*
#include <stdio.h>
#include <string.h>
int main()
{
int i,n,cnt=0,top=0;
char data[10000] = {0};
char stack[300]={0};
scanf("%d",&n);
scanf("%s",data);
for(i=0;;i++)
{
if(cnt>=n) break;
stack[top++]=data[i];
if(cnt%3==0&&cnt!=0)
{
stack[top++]=',';
}
cnt++;
}
for(i=0;i<top;i++)
{
printf("%c",stack[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
int main() {
int i, j, n, k=0, top=0;
char data[1000] = {0};
char stack[1000] = {0};
scanf("%d", &n);
scanf("%s", data);
for(i=n-1; i>=0; i--) {
stack[top] = data[i];
top++;
k++;
if(k%3==0) {
stack[top++] = ',';
}
}
for(i=top-1; i>=0; i--){
if(n%3!=0)
{
printf("%c", stack[i]);
}
else
{
if(i!=top-1) printf("%c", stack[i]);
}
}
return 0;
}
*/
/*
#include <string.h>
int main()
{
int i,k=0,rst=0;
char stack[60000]= {0};
scanf("%s",stack);
for(i=0; i<strlen(stack); i++)
{
if(stack[i]=='(')
k++;
else
k--;
if(k<0) {
printf("bad");
return 0;
}
}
if(k==0)
printf("good");
else
printf("bad");
return 0;
}
*/
#include <string.h>
int main()
{
int i,c,d,t1,t2,top=0,rst[200]= {0};
char a[200]= {0},b[200]= {0};
scanf("%s %s",a,b);
if(strlen(a)>strlen(b))
{
c=strlen(b);
}
else
{
c=strlen(a);
}
t1=strlen(a)-1;
t2=strlen(b)-1;
for(i=0; i<c; i++)
{
rst[top]=rst[top]+((a[t1]-'0')+(b[t2]-'0'))%10;
top++;
rst[top]=((a[t1]-'0')+(b[t2]-'0'))/10;
t1--;
t2--;
}
if(strlen(a)>=strlen(b))
{
for(i=strlen(a);i>=strlen(a)-c;i--)
{
rst[i]=a[i];
}
}
else
{
for(i=strlen(b);i>=strlen(b)-c;i--)
{
rst[i]=b[i];
}
}
for(i=top-1; i>=0; i--)
{
printf("%d",rst[i]);
}
return 0;
}