#include <iostream>
#include <cstring>
using std::cin;
using std::cout;
using std::endl;
char *subduction( char *s1, char *s2 );
char *reversal_str(char *s);
int main()
{
char s1[100000],s2[100000];
//cin >> s1 >> s2;
while ( cin >> s1 >> s2 )
cout << subduction(s1, s2) << endl;
return 0;
}
char *subduction( char *s1, char *s2 )
{
int len1 = strlen(s1), len2 = strlen(s2);
//判断正负并交换
bool flag = true;//判断负号
if ( (len2 > len1) || ( (len2 == len1) && strcmp(s1,s2) < 0 ) ){
flag = false;
char temp[100000]; int t;
strcpy(temp, s1); t = len1;
strcpy(s1, s2); len1 = len2;
strcpy(s2, temp); len2 = t;
}
int len = len1;
reversal_str(s1); reversal_str(s2);
int i = 0;
//补0
for ( i = len2; i != len; ++i )
s2[i] = '0';
//计算
for ( i = 0; i != len ; ){
if ( s1[i] >= s2[i] ){
s1[i] = s1[i] - s2[i] + '0';
++i;
}else{
s1[i] = s1[i] + 10 - s2[i] + '0';
s1[++i] = s1[i] - 1;
}
}
//删除前导0,添加负号
for ( i = len - 1; i != 0 ; --i ){
if ( 1 == i )
s1[i] = '\0';
if ( '0' != s1[i] ){
if (!flag){
s1[++i] = '-';
s1[++i] = '\0';
break;
}else{
s1[++i] = '\0';
break;
}
}
}
reversal_str(s1);
return s1;
}
char *reversal_str(char *s)
{
int len = strlen(s);
for ( int i = 0; i != len/2; ++i ){
char temp;
temp = s[i];
s[i] = s[len - 1 - i];
s[len - 1 - i] = temp;
}
return s;
}