#include<stdio.h>
#include<string.h>
int stack[200]={};
int stack2[200]={};
int stack3[200]={};
int top=-1;
int top2=-1;
int top3=-1;
void push(int data)
{
top++;
stack[top]=data;
}
void push2(int data)
{
top2++;
stack2[top2]=data;
}
void push3(int data)
{
top3++;
stack3[top3]=data;
}
int pop()
{
if (top==-1){
return 0;
}
return stack[top--];
}
int pop2()
{
if (top2==-1){
return 0;
}
return stack2[top2--];
}
int pop3()
{
if (top3==-1){
return 0;
}
return stack3[top3--];
}
int main()
{
char str[101]={};
char str2[101]={};
char tmp[101];
int i, c=0, n=0, sum=0, a=0;
gets (str);
gets (str2);
if (strlen(str)<strlen(str2)){
strcpy(tmp,str);
strcpy(str,str2);
strcpy(str2,tmp);
printf("-");
}
if(strlen(str)==strlen(str2))
for (i=0; i<100; i++){
if (a==1){
break;
}
if (str[i]-'0'<str2[i]-'0'){
strcpy(tmp,str);
strcpy(str,str2);
strcpy(str2,tmp);
printf("-");
break;
}
}
for (i=0; i<100; i++){
if (a!=1){
if (str[i]!=NULL){
push(str[i]-'0');
}
if (str2[i]!=NULL){
push2(str2[i]-'0');
}
}
else if (a==1){
if (str2[i]!=NULL){
push(str[i]-'0');
}
if (str[i]!=NULL){
push2(str2[i]-'0');
}
}
}
for (;;){
if (n!=0){
stack[top]--;
n=0;
}
if(top2==-1) //뺄 수가 더이상 없을때
{
while(top!=-1){
push3(pop());
}
break;
}
if (stack[top]<stack2[top2]){
n=10;
}
c=pop()-pop2()+n;
push3(c);
}
for (i=0; top!=0; i++){
printf ("%d", pop3());
}
return 0;
}