#include<bits/stdc++.h>
using namespace std;
	//1.定义两个string s1,s2;
	string s1,s2;
	//1.5char f='+',p=0;
	char f='+';
	//2.定义3个数组a[300],b[300]用来存s1,s2;
	int  a[300],b[300],c[320],p=0; 

int main(){
    //3.分别将s1,s2逆序存入数组a,b;
    cin>>s1>>s2; 
   
	//s1.size()-1,循环i从i:s1.size()-1~0;
	//s2.size()-1,循环i从i:s2.size()-1~0;
	//a[s1.size()-1-i]=s[i]-'0';
	//a[s2.size()-1-i]=s[i]-'0';
	for(int i=0;i<=s1.size()-1;i++){
		a[i]=s1[s1.size()-1-i]-'0';
	}
	for(int i=0;i<=s2.size()-1;i++){
	b[i]=s2[s2.size()-1-i]-'0';
	}
    int len=s1.size();
	for(int i=0;i<len;i++){
		c[i]=a[i]-b[i];
	}

	if(s1.size()<s2.size()||(s1.size()<s2.size())&&s1>s2){
		
		swap(s1,s2);
		f='-';
	}
	//4.相减
	//4.25先判断谁大,用大的减小的	
	//4.5考虑结果是否是负数	
	//如果s1<s2,交换s1,s2,f="-";
	//4.75循环len次,判断是否要借位,a[i]数组c=数组a-数组b
	//5.输出
	//5.25先判断输出结果是否为负 f='-' cout<<'-';
	if(f='-'){
		cout<<'-';
	}
	
	//5.75循环len~0;
	//相减 
	for(int i=0;i<len;i++){
		if(a[i]<b[i]){
			a[i+1]=a[i+1]-1;
	        a[i]=a[i]+10;
		} c[i]=a[i]-b[i];
	} 
	if(f=='-'){
		cout<<'-';
	}
	for(int i=len-1;i>=0;i--){
	if(c[i]!=0){
		p=i;
		break;
	}
	}
	
    for(int i=p;i>=0;i--){
		cout<<c[i];
    }
 
	//5.5倒序输出
	//6循环p~0  cout<<c[i]; 

	
	
}

/**************************************************************
	Problem: 1269
	User: zhangailin
	Language: C++
	Result: Wrong Answer
****************************************************************/