/*
#include <stdio.h>
#include <stdlib.h>
#define size 201
char stack[size]={};
int top = -1;
void push(char a)
{
top++;
stack[top]=a;
}
char pop()
{
return stack[top--];
}
int main()
{
char num[200];
int n, i, a=0,l;
scanf("%d", &n);
scanf("%s", num);
for(i=n-1; i>=0; i--)
{
push(num[i]);
}
l=top;
for(i=l; i>=0; i--)
{
printf("%c", pop());
a++;
if((n-a)%3==0 && a!=n)
{
printf(",");
}
}
return 0;
}
*/
#include <stdio.h>
#include <string.h>
#define size 100
char num1[size];
int top = -1;
int n_1='0';
void push(int a)
{
top++;
num1[top]=a;
}
int pop()
{
return num1[top--];
}
int main()
{
char n[size], n1[size];
int i, a, b, temp, over;
scanf("%s %s", n, n1);
a=strlen(n);
b=strlen(n1);
if(a<b)
{
temp = a;
a = b;
b = temp;
}
int c = a;
for(i=0; i<c; i++)
{
if(b<0)
{
int c = a;
for(i=0; i<c; i++)
{
printf("%d", n[i]);
}
c=top;
for(i=0; i<=c; i++)
{
printf("%d", pop());
}
}
if((n[a]-n_1)+(n1[b]-n_1)>10)
{
over++;
push(((n[a]-n_1)+(n1[b]-n_1))%10+over--);
}
else
{
push(((n[a]-n_1)+(n1[b]-n_1))+over--);
}
a--;
b--;
}
}
/*
#include <stdio.h>
#include <string.h>
#define size 100001
int main()
{
char str[size];
int i, n1=0, n2=0;
scanf("%s", str);
for(i=0; i<strlen(str); i++)
{
if(str[i]=='(' && str[i+1]!=')')
{
n1++;
}
else if(str[i]=='(' && str[i+1]==')')
{
n2+=n1;
}
else if(str[i]==')' && str[i-1]!='(')
{
n1--;
n2++;
}
}
printf("%d", n2);
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
#define size 101
int n1[size];
int top=-1;
int n_1='0';
void push(int a)
{
top++;
n1[top] = a;
}
int pop()
{
return n1[top--];
}
int main()
{
char n[201];
int i;
gets(n);
int c=0;
for(i=0; i<strlen(n); i++)
{
if(n[i]=='*'||n[i]=='/'||n[i]=='+'||n[i]=='-')
{
int a, b;
b = pop();
a = pop();
if(n[i]=='*')
{
push(a*b);
}
else if(n[i]=='+')
{
push(a+b);
}
else if(n[i]=='-')
{
push(a-b);
}
}
else if(n[i]!=' ')
{
c *= 10;
c += n[i]-n_1;
}
else if(n[i]==' ' && n[i-1]!='*' && n[i-1]!='+' && n[i-1]!='-')
{
push(c);
c=0;
}
}
printf("%d", pop());
}
*/