/*
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
printf("%d", f(n));
}
int f(int n)
{
if(n==1 || n==2) return 1;
return (f(n-1) + f(n-2))%10009;
}
*/
/*
#include<stdio.h>
int main() {
int stack[10000] ={0};
int top=0;
int n;
int i;
//scanf("%d", &stack[top]);
for(;;) {
scanf("%d", &stack[top]);
top++;
if(stack[top-1] == 0) break;
}
top--;
for(;;) // not infinite roop
{
top--;
printf("%d\n", stack[top]);
if(top==0) break;
}
}
*/
/*
#include<stdio.h>
int stack[100000] , top=0;
void push(int k) {
stack[top] = k;
top++;
}
void pop() {
top--;
stack[top] = 0;
}
int main() {
int n, k, i;
int sum=0;
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%d", &k);
if(k==0){pop();}
else{push(k);}
}
for(i=0; i<top; i++){
sum=stack[i]+sum;
}
printf("%d", sum);
return 0;
}
*/
/*#include<stdio.h>
int main() {
char str[100000], i, j, k;
int n;
gets(str);
for(i=0; i<strlen(str); i++) {
if(str[i] >= '0' && str[i] <='9'){
n = str[i] - '0';
number[];
}
else if(str[i]=='+' || str[i] == '-' || str[i]=='*' || str[i]=='/') {
oper[];
}
}
}
*/
/*#include<stdio.h>
int main()
{
char str[100]= {};
int i,n=0, k=0;
char op;
gets(str);
for(i=0; i<strlen(str); i++)
{
if(str[i] >= '0' && str[i] <='9')
{
if(n==0) {
n = str[i] - '0';
}
else {
k = str[i] - '0';
if(op == '+') n = n + k;
if(op == '-') n = n - k;
if(op == '*') n = n * k;
if(op == '/') n = n / k;
k=0;
}
}
else if(str[i]=='+' || str[i] == '-' || str[i]=='*' || str[i]=='/')
op = str[i];
}
printf("%d", n);
}
*/
/*#include<stdio.h>
int main()
{
char str[100]= {};
int i,j,n[1000] = {0}, top=0, k=0;
char op;
int x = 0;
gets(str);
for(i=0; i<strlen(str); i++)
{
if(str[i]==' '){
x = 0;
}
else if(str[i] >= '0' && str[i] <='9')
{
if(x==1) {
n[top-1] = n[top-1]*10+(str[i]-'0');
}
if(x==0) {
n[top++] = str[i] - '0';
}
x = 1;
}
else if(str[i]=='+' || str[i] == '-' || str[i]=='*' || str[i]=='/'){
if(str[i] == '+')
n[top-2]=n[top-2]+n[top-1];
if(str[i] == '-')
n[top-2]=n[top-2]-n[top-1];
if(str[i] == '*')
n[top-2]=n[top-2]*n[top-1];
if(str[i] == '/')
n[top-2]=n[top-2]/n[top-1];
top--;
}
}
printf("%d", n[top-1]);
}
*/
/*
for(j=0; j<top; j++) {
printf("%d ", n[j]);
}
printf("\n");
*/
#include<stdio.h>
#include<string.h>
int main()
{
char a[100]= {};
char b[100]= {};
char c[100]= {};
int i, k=0, s=0, x=0;
scanf("%s %s", a, b);
if(strlen(a) < strlen(b))
{
strcpy(c, a);
strcpy(a, b);
strcpy(b, c);
}
k = strlen(a)-1;
for(i=strlen(b)-1;i>=0; i--){
b[k--] = b[i];
b[i] = '0';
}
k = strlen(b)-1;
for(i=strlen(a)-1; i>=0; i--)
{
s = (a[i]-'0') + (b[k--]-'0') + x;
x = s/10;
a[i] = (s%10)+'0';
if(k<0)
{
s = (a[i-1]-'0') + x;
a[i-1] = (s%10)+'0';
break;
}
}
if(x==1)
{
printf("1");
}
printf("%s", a);
}